To do that, you need to convert it to an integer, increment it, and convert it back to a string:
SELECT RIGHT('00000' + CONVERT(VARCHAR, MAX(CONVERT(INT,Field)) + 1), 5) FROM MyTable
But...you're a lot better off having an IDENTITY field which is integer and letting SQL handle the increment, then converting it to a leading-zero string when you need it.
One way to do this is to use a Computed column:
CREATE TABLE [dbo].[MyTable](
[Id] [int] IDENTITY(1,1) NOT NULL,
[Field] AS (RIGHT('00000'+CONVERT([VARCHAR],[Id],(0)),(5))),
[Desc] [nchar](10) NOT NULL
) ON [PRIMARY]
GO
That way, the "latest value" will be created for you when you insert a row, and the leading zero sting version will be automatically created.