How to compute $a$ in the complex discard method of NIST SP 800-90
Wouldn't the numbers $a_i$ be too small in that case


No, it's just a simple base conversion; you take the integer $c$, and represent it in base $r$; the values $a_0, a_1, ...., a_{t-1}$ are the digits of the resulting conversion.

There are lots of ways to do base conversion; the simplest (if not the most efficient) would be:

For i := 0 to t-1 do
    a[i] = c % r
    c = c / r


(with % being the modulo operation, and / being integer division rounding down)