It's true, there is an infinitesimally small number between 0.999... and 1.
If you take the position that infinities cannot exist (this includes the infinitesimals), then you are simply mistaken.
Again, ONLY if you are talking about hyperreal numbers here. If 0.999... and 1 are reals then they are exactly the same. If 0.999... is a hyperreal (and obviously a member of R - *R ) then we're cool. We've basically picked a point in the hyperreal cloud around 1.
Put another way:
Given a line of finite size, how many times can it be divided? If you say an infinite amount of times, then you are assuming infinitesimally small line segments are possible. You cannot divide the line an infinite amount of times without creating at least one segment with a size of (1 - 0.999...).
Nope - this doesn't work. There will be a bijective correspondence between R and the length of any finite line segment. Consider the division of the line by first breaking it at 1/2, then 1/4, then 1/8 and so on. Our resulting line segments will be [1,1/2], [1/2, 1/4], [1/4,1/8], and so on. For EVERY line segment [1/2^n, 1/2^(n+1)] we have some real distance. No way to bring an infinitesimal into the mix.
Furthermore an infinite amount of line segments of length (1 - 0.999...), assuming 0.999... = 1, would be of 0 length. This means if 0.999... = 1 then dividing a line into an infinite amount of equal segments would yield an infinite amount of segments of length 0. Since the total line length is the sum of its parts, you would have infinity * 0 = a finite number.
This doesn't prove anything at all. Assume that 1=0.999... and therefore 1-0.999...=0
Consider the infinite set of line segments [x,x] where 0 < x < 1, then each segment has length 0.
Then their union is (0,1) and has length 1. So this holds anyway and is irrelevant to the discussion.