To elaborate, and extend on GEdgar's answer: there is what is called the $q$-Pochhammer symbol
$$(a;q)_n=\prod_{k=0}^{n-1} (1-aq^k)$$
and $(a;q)_\infty$ is interpreted straightforwardly. The product you are interested in is equivalent to $\left(\frac1{10};\frac1{10}\right)_\infty\approx0.8900100999989990000001$.
One can also express the $q$-Pochhammer symbol $(q;q)_\infty$ in terms of the Dedekind $\eta$ function $\eta(\tau)$ or the Jacobi $\vartheta$ function $\vartheta_2(z,q)$; in particular we have
$$\left(\frac1{10};\frac1{10}\right)_\infty=\sqrt[24]{10}\eta\left(\frac{i\log\,10}{2\pi}\right)=\frac{\sqrt[24]{10}}{\sqrt 3}\vartheta_2\left(\frac{\pi}{6},\frac1{\sqrt[6]{10}}\right)$$
I might as well... there is the following identity, due to Euler (the pentagonal number theorem):
$$(q;q)_\infty=\prod_{j=1}^\infty(1-q^j)=\sum_{k=-\infty}^\infty (-1)^k q^\frac{k(3k-1)}{2}$$
which, among other things, gives you a series you can use for quickly estimating your fine product:
$$\left(\frac1{10};\frac1{10}\right)_\infty=1+\sum_{k=1}^\infty (-1)^k\left(10^{-\frac{k}{2}(3k+1)}+10^{-\frac{k}{2}(3k-1)}\right)$$
Three terms of this series gives an approximation good to twenty digits; five terms of this series yields a fifty-digit approximation.
We can use the geometric series formula:
$$0.9_N = \sum_{i=1}^N 9 \cdot 10^{-i} = 9 \cdot 10^{-1} \cdot \frac{1 - 10^{-N}}{1 - 10^{-1}} = (1 - 10^{-N})$$
Since $N$ is infinite, $\epsilon_N = 10^{-N} = 1 / 10^N$ is infinitesimal.
Best Answer
It's true that if we truncate both numbers at any finite point, $0.\overline{9}$ will compare less than 1. But by analogy, consider the following two programs:
and
Those two programs will print out exactly the same numbers - but at any given iteration, the first one will have printed out twice as many numbers. Any finite truncation of the first process will "look much bigger" than the corresponding finite truncation of the second process; and yet their output "at infinity" is the same.
You need to "look at the whole process" to determine equality.
By the way, equality of arbitrary reals is undecidable. So your algorithm never stood a chance of being a general way of comparing arbitrary reals.