Using the decimal expansion for this purpose is at least cumbersome, and while we can do it by observing that $a$ and $b$ must differ at some decimal for the first time, one has to be careful with lots of $9$s and $0$s causing trouble.
Anyway you have a lot of freedon with "late" decimals, so you can make things periodic or aperiodic at will.
It is much simpler to let $\epsilon=b-a>0$ and then note that there is at least one onteger $n$ with $n>\frac1\epsilon$ and then at least one integer $m$ with $na<m<nb$ (because $nb-na>1$) and one integer $m'$ with $n(a-\sqrt 2)<m'<n(b-\sqrt 2)$. Then $c=\frac mn$ and $d=\frac {m'}n+\sqrt 2$ do the trick.
Look at the classical division algorithm: after you have exhausted the digits of the numerator, you will continue appending zeroes 'past the decimal point'. As the remainder is smaller than the divisor, it is finite and the same values will come back periodically. The period length of the decimals cannot exceed the value of the divisor minus $1$.
Base $10$ example, $83/7$:
$83\div 7=10$, remainder $1$ ($=8-7$).
$83\div 7=11$, remainder $6$ ($=83-7\cdot11$).
$83\div 7=11.8$, remainder $4$ ($=830-7\cdot118$).
$83\div 7=11.85$, remainder $5$ ($=8300-7\cdot1185$).
$83\div 7=11.857$, remainder $1$ ($=83000-7\cdot11857$).
$83\div 7=11.8571$, remainder $3$ (=$\cdots$).
$83\div 7=11.85714$, remainder $2$.
$83\div 7=11.857142$, remainder $6$.
$83\div 7=11.8571428$, remainder $4$.
$\cdots$
Conversely, when you have a periodic number, if you shift it left by one period and subtract the original, you obtain a terminating number by cancellation of the decimals.
$$11857142.8571428571428571428\cdots-11.8571428571428571428\cdots=11857131,$$ hence the number is
$$\frac{11857131}{999999}=\frac{83}7.$$
Best Answer
Yes, as long at the repeating decimal is a positive number. Here's how: Let $x = 0.175175175\cdots$ Then $1000x - x = 175$. This implies $999x = 175$ and we have $0.175175175\cdots = \frac{175}{999}$.
Finally, $2.175175175\cdots = 2 + \frac{175}{999} =\frac{2173}{999}$