First, there's no reason that two different strings can't represent the same number. Certainly 3.999... and 4.000... are the same real number.I don't quite follow this. By -1/9 I take it you are denoting the number that could also be represented as the recurring decimal -0.1111 ... But how can that be if the latter denotes a real number while ...111 doesn't denote anything at all in our usual number systems.
But in the 10-adics, there's no such thing as a decimal point or anything 'to the right' of it. Think about it this way:
....111 x 9 = ...999.
...999 + 1 = ...000.
So 0, minus 1, divided by 9, gives ...111 in the 10-adics.