Computing morphic word produced by uniform morphism
Denote $f^{(\infty)}(a)$ by $w$. Thus $f(w) = w$. Let $w_0,w_1,w_2,\ldots \in \{a,b,c\}$ be the individual symbols of $w$. The crucial observation is that if $n = 3m + r$ for $r \in \{0,1,2\}$ then
$$
w_n = f(w_m)_r.
$$
Indeed, since $w = f(w)$, we have
$$
w_0 w_1 w_2 w_3 w_4 w_5 w_6 w_7 w_8 \ldots = f(w_0 w_1 w_2 \ldots) = f(w_0) f(w_1) f(w_2) \ldots,
$$
from which this formula can be recovered.
This gives a very simple recursive formula for computing $w_n$:
$$
w_n = f(w_{\lfloor n/3 \rfloor})_{n \bmod 3},
$$
with base case $w_0 = a$.
A similar approach works for every morphic word produced by a uniform morphism (one in which $|f(\sigma)|$ is the same for all $\sigma \in \Sigma$).