My degree is in mathematics. This is not how these notations are usually defined rigorously.
The most common way to do it starts from sequences of real numbers, then limits of sequences, then sequences of partial sums, then finally these notations turn out to just represent a special kind of limit of a sequence of partial sums.
If you want a bunch of details on this read further:
A sequence of real numbers can be thought of as an ordered nonterminating list of real numbers. For example: 1, 2, 3, ... or 1/2, 1/3, 1/4, ... or pi, 2, sqrt(2), 1000, 543212345, ... or -1, 1, -1, 1, ... Formally a sequence of real numbers is a function from the natural numbers to the real numbers.
A sequence of partial sums is just a sequence whose terms are defined via finite sums. For example: 1, 1+2, 1+2+3, ... or 1/2, 1/2 + 1/4, 1/2 + 1/4 + 1/8, ... or 1, 1 + 1/2, 1 + 1/2 + 1/3, ... (do you see the pattern for each of these?)
The notion of a limit is sort of technical and can be found rigorously in any calculus book (such as Stewart's Calculus) or any real analysis book (such as Rudin's Principles of Mathematical Analysis) or many places online (such as Paul's Online Math Notes). The main idea though is that sometimes sequences approximate certain values arbitrarily well. For example the sequence 1, 1/2, 1/3, 1/4, ... gets as close to 0 as you like. Notice that no term of this sequence is actually 0. As another example notice the terms of the sequence 9/10, 9/10 + 9/100, 9/10 + 9/100 + 9/1000, ... approximate the value 1 (try it on a calculator).
I want to stop here to make an important distinction. None of the above sequences are real numbers themselves because lists of numbers (or more formally functions from N to R) are not the same thing as individual real numbers.
Continuing with the discussion of sequences approximating numbers, when a sequence, call it A, approximates some number L, we say "A converges". If we want to also specify the particular number that A converges to we say "A converges to L". We give the number L a special name called "the limit of the sequence A".
Notice in particular L is just some special real number. L may or may not be a term of A. We have several examples of sequences above with limits that are not themselves terms of the sequence. The sequence 0, 0, 0, ... has as its limit the number 0 and every term of this sequence is also 0. The sequence 0, 1, 0, 0, ... where only the second term is 1, has limit 0 and some but not all of its terms are 0.
Suppose we define a sequence a1, a2, a3, ... where each of the an numbers is one of the numbers from 0, 1, 2, 3, 4, 5, 6, 7, 8 or 9. It can be shown that any sequence of the form a1/10, a1/10 + a2/100, a1/10 + a2/100 + a3/1000, ... converges (it is too technical for me to show this here but this is explained briefly in Rudin ch 1 or Hrbacek/Jech's Introduction To Set Theory).
As an example if each of the an values is 1 our sequence of partial sums above simplifies to 0.1,0.11,0.111,... if the an sequence is 0, 2, 0, 2, ... our sequence of partial sums is 0.0, 0.02, 0.020, 0.0202, ...
We define the notation 0 . a1 a2 a3 ... to be the limit of the sequence of partial sums a1/10, a1/10 + a2/100, a1/10 + a2/100 + a3/1000, ... where the an values are all chosen as mentioned above. This limit always exists as specified above also.
In particular 0 . a1 a2 a3 ... is just some number and it may or may not be distinct from any term in the sequence of sums we used to define it.
When each of the an values is the same number it is possible to compute this sum explicitly. See here (where a=an, r=1/10 and subtract 1 if necessary to account for the given series having 1 as its first term).
So by definition the particular case where each an is 9 gives us our definition for 0.999...
To recap: the value of 0.999... is essentially just whatever value the (simplified) sequence of partial sums 0.9, 0.99, 0.999, ... converges to. This is not necessarily the value of any one particular term of the sequence. It is the value (informally) that the sequence is approximating. The value that the sequence 0.9, 0.99, 0.999, ... is approximating can be proved to be 1. So 0.999... = 1, essentially by definition.
They don't eventually become 1. Their limit is 1 but none of the terms themselves are 1.
A sequence, its terms and its limit (if it has one) are all different things. The notation 0.999... represents a limit of a particular sequence, not the sequence itself nor the individual terms of the sequence.
For example the sequence 1, 1/2, 1/3, 1/4, ... has terms that get closer and closer to 0, but no term of this sequence is 0 itself.
Look at this graph. If you graph the sequence I just mentioned above and connect each dot you will get the graph shown in this picture (ignoring the portion to the left of x=1).
As you go further and further out along this graph in the positive x direction, the curve that is shown gets closer and closer to the x-axis (where y=0). In a sense the curve is approaching the value y=0. For this curve we could certainly use wordings like "the value the curve approaches" and it would be pretty clear to me and you that we don't mean the values of the curve itself. This is the kind of intuition that we are trying to formalize when we talk about limits (though this example is with a curve rather than a sequence).
Our sequence 0.9, 0.99, 0.999, ... is increasing towards 1 in a similar manner. The notation 0.999... represents the (limit) value this sequence is increasing towards rather than the individual terms of the sequence essentially.
I have been trying to dodge the actual formal definition of the limit of a sequence this whole time since it's sort of technical. If you want you can check it out here though (note that implicitly in this link the sequence terms and limit values should all be real numbers).