It's purely a matter of definition. You can say .99... is the hyperreal number 1-h, where h is the infinitessimal element, and not be wrong. If you require .99... to be real, then it's reasonable to define it such that .99...≤1 is an upper bound to every interval of the form [0,a) with 0<a<1 under the total ordering. Then clearly .99... is in every interval [a,1]. Compactness implies that the intersection of all such intervals contains exactly one element, .99... by hypothesis. But the intersection clearly contains 1, hence .99...=1.

>>7571505

>therefore there is a 'distance' between these numbers

Not quite. A metric function must have real codomain and be well-defined. Any small positive real you assign as d(1, .99...) is greater than the rational 1/n for a sufficiently large n, and density clearly furnishes a rational p with terminating decimal expansion such that d(1,p)<1/n<d(1, .99...), a contradiction. Letting d(1, .99...)=0 implies equality or requires you reject the reals as a metric space.