Please, see my comment. When you reply me, i'll update my answer.
Please, test it:
;WITH PseudoNumbers AS
(
SELECT 1 AS MyVal, CAST('00001' AS NVARCHAR(5)) AS PseudoNumber
UNION ALL
SELECT MyVal + 1 AS MyVal, CAST(LEFT('00000', LEN('00000')-LEN(CAST(MyVal+1 AS NVARCHAR(5)))) + CAST(MyVal+1 AS NVARCHAR(5)) AS NVARCHAR(5)) AS PseudoNumber
FROM PseudoNumbers
WHERE MyVal <100
)
SELECT *
FROM PseudoNumbers
Results:
M.. PseudoNumber
1 00001
2 00002
3 00003
4 00004
5 00005
...
100 00100
More:
Using Common Table Expressions[
^]