The smallest number is going to be the one with the least digits. We need to make use of all the digits as efficiently as possible. Therefore, we should:
use almost entirely 9s. If, for example, we were trying to find the smallest number which sums to 18, 99 is better than 1188. Of course, using entirely 9s will get us past 1000 (the smallest 4-digit number). It takes 111 nines and 1 one to sum to 1000. We can arrange the digits however we want, but a 1 in the leftmost place will make the smallest number.
Therefore, the solution is
1, followed by 111 9s:
1999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
I’ll admit I used a computer (despite the no-computers tag) to generate the output, since a Bash command is much faster and more accurate than typing that up by hand.