Here is one possible approach. You can model the plane plus one extra point at infinity as the complex projective line $\mathbb{CP}^1$. So your three points become homogeneous coordinate vectors of the form $[x+iy:1]$. It is simple (see below for details) to find a projective transformation (i.e. Möbius transformation) which maps your circle to the real line in such a way that the three points you have correspond to $0$, $1$ and $\infty$. So as long as you can guarantee that the point you're looking for will be reasonably far away from one of your three known points, mapping that point to $\infty$ will avoid using infinite values for the point you're looking for. Rational points on the circle would simply correspond to rational numbers on the real number line.
You can then apply this transformation to a floating-point approximation of your desired point, and dehomogenize the result (i.e. divide first coordinate by second) to a real number (up to some imaginary noise due to numerics). That number is in fact the cross ratio of your desired point with respect to the three given points. In the special case where the three known points are west, east and north (or left, right and up) compass points, this cross ratio corresponds to the tangent half-angle parametrization you mentioned. So the cross-ratio parametrization may be seen as a generalization of the tangent half-angle parametrization, using the three given points instead of fixed compass points as the basis. You could approximate that floating-point number using rational numbers, e.g. using continued fractions to come up with a good approximation in terms of error compared to size of involved numbers. Then do the inverse Möbius transformation and you are back to your original circle. This may make your rational numbers more complicated, so I don't claim that a compact cross ratio approximation will lead to compact coordinates.
So how do you find the transformation? It's essentially a special case of this approach. Write your three points as complex numbers $A=x_A+i\,y_A$ and likewise $B$ and $C$. Now try to solve
$$\begin{pmatrix}A&B\\1&1\end{pmatrix}\cdot\begin{pmatrix}\lambda\\\mu\end{pmatrix}=\tau\begin{pmatrix}C\\1\end{pmatrix}$$
for some $\tau\in\mathbb C$. You can do this using the adjoint matrix, with $\tau$ equal to the determinant $(A-B)$:
$$\begin{pmatrix}\lambda\\\mu\end{pmatrix}=
\begin{pmatrix}1&-B\\-1&A\end{pmatrix}
\begin{pmatrix}C\\1\end{pmatrix}$$
Then scale the columns of the original matrix with these values to obtain
$$\begin{pmatrix}\lambda A&\mu B\\\lambda&\mu\end{pmatrix}$$
as the matrix which maps $\infty,0,1$ a.k.a. $[1:0],[0:1],[1:1]$ to $A,B,C$. Its inverse operation can be expressed using the adjoint again:
$$\begin{pmatrix}\mu&-\mu B\\-\lambda&\lambda A\end{pmatrix}$$
is the transformation from your circle to the real line, which maps $A,B,C$ to $\infty,0,1$ so make sure the point you are after is distinct from $A$ if you want to avoid infinity.
Example
To make all of this more accessible, let's have an exampe. Consider the circle through $(1,5)$, $(4,1)$ and $(5,4)$. Just for reference: the radius of the circle is $\frac5{26}\sqrt{170}\not\in\mathbb Q$, and its center is at $\left(\frac{69}{26},\frac{81}{26}\right)$.
So you have $A=1+5i, B=4+1i, C=5+4i$. Using these you compute
\begin{align*}
\lambda&=C-B=(5+4i)-(4+1i)=1+3i \\
\mu&=A-C=(1+5i)-(5+4i)=-4+1i \\
\lambda A&=(1+3i)(1+5i)=(1-3\cdot 5)+(3+5)i=-14+8i \\
\mu B&=(-4+1i)(4+1i)=(-4\cdot4-1)+(-4+4)i=-17+0i
\end{align*}
Now suppose you want a point at $\varphi=123°\pm1''$. So we expect the point to lie close to $(1.2883,5.2183)$. Let's convert this to a real parameter:
\begin{multline*}
\begin{pmatrix}\mu&-\mu B\\-\lambda&\lambda A\end{pmatrix}\cdot
\begin{pmatrix}x+iy\\1\end{pmatrix}=
\begin{pmatrix}-4+1i&17\\-1-3i&-14+8i\end{pmatrix}\cdot
\begin{pmatrix}1.2883+5.2183i\\1\end{pmatrix}
\\=\begin{pmatrix}
(-4+1i)(1.2883+5.2183i)+17\\
(-1-3i)(1.2883+5.2183i)-14+8i
\end{pmatrix}
\\=\begin{pmatrix}
(-4\cdot1.2883-1\cdot5.2183+17)+
(-4\cdot5.2183+1\cdot1.2883)i\\
(-1\cdot1.2883+3\cdot5.2183-14)+
(-1\cdot5.2183-3\cdot1.2883+8)i
\end{pmatrix}
\\=\begin{pmatrix}
6.6285-19.5849i\\
0.3666-1.0832i
\end{pmatrix}
\end{multline*}
This is a homogeneous parameter vector. To turn this into a single real number, divide the first coordinate by the second.
\begin{multline*}
\frac{6.6285-19.5849i}{0.3666-1.0832i} =
\frac{(6.6285-19.5849i)(0.3666+1.0832i)}{(0.3666-1.0832i)(0.3666+1.0832i)}
\\=\frac{(6.6285\cdot0.3666+19.5849\cdot1.0832)+
(6.6285\cdot1.0832-19.5849\cdot0.3666)i}{0.3666^2+1.0832^2}
\\=\frac{23.64437178+0.00016686i}{1.3077178}\approx18.0806+0.0001i
\end{multline*}
The imaginary part here is because our approximate position wasn't exactly on the circle; we simply ignore that. So our parameter $t$ for this point is approximately $18.0806$ according to the above computation. But that computation was pretty imprecise (to keep the numbers readable). In fact it was too imprecise to satisfy the tight error bounds I assumed. If we do the same computation with higher precision, and with the bounds of the desired interval, we obtain
$$18.084342<t<18.085554$$
as a sufficient condition (i.e. if $t$ lies in that interval, the error is guaranteed to be smaller than one arc second). We can also look at the continued fraction representation of the parameter you get for exactly $123°$, again computed with higher precision.
$$t\approx18.0849478026=18+\cfrac{1}{11+\cfrac{1}{1+\cfrac{1}{3+\cfrac{1}{2+\cfrac{1}{1+\cfrac{1}{1+\cdots}}}}}}$$
Trying one convergent (i.e. truncated version) after the other, one can verify that the first approximation to lie within the desired interval is
$$t=18+\cfrac{1}{11+\cfrac{1}{1+\cfrac{1}{3}}}=\frac{850}{47}
\approx18.0851$$
Now we turn this back into a point on the circle. To keep the notation simple and avoid fractions, I'll write numerator and denominator of the computed number as two components of the homogeneous coordinate vector. Scalar multiples of homogeneous vectors describe the same point.
\begin{gather*}
\begin{pmatrix}\lambda A&\mu B\\\lambda&\mu\end{pmatrix}\cdot
47\begin{pmatrix}t\\1\end{pmatrix}=
\begin{pmatrix}-14+8i&-17\\1+3i&-4+1i\end{pmatrix}\cdot
\begin{pmatrix}850\\47\end{pmatrix}=
\begin{pmatrix}-12699+6800i\\662+2597i\end{pmatrix}\\[2ex]
\frac{-12699+6800i}{662+2597i}=
\frac{(-12699+6800i)(662-2597i)}{662^2+2597^2}=
%\frac{9760822+37208903i}{7182653}=
\frac{544286}{422509}+\frac{2204759}{422509}i
\end{gather*}
So one rational point satisfying all the requirements would be
$$\left(\frac{544286}{422509},\frac{2204759}{422509}\right)$$