Python 3 2, 79 74 69 6565 68 bytes
TO BE EDITED
def sf(xn):
i=l=len(`x``n`)
;s='';exec while(i<=x):print"\b"+`i`n//l*"s+=`i`.zfill(l);i+=l;i+=l;";print s
My new model is based on Karl's model based on my model, I'm not sure if that is fair or not apparently, the printing police have visited and said I can't use backspaces ;_;. Edit forthcoming
increments the number to be printed by length of input, prints it with proper amount of zeros, until number is equal or greater (shouldn't be greater though)
\b
is backspace byte count increase from bad output method