Why are transcendental functions of large numbers inaccurate on computers?
There's nothing fundamentally hard about computing $\sin(10^{99})$.  You simply compute $x = 10^{99} \bmod 2\pi$, then compute $\sin(x)$.  (Why is this valid?  It's because $\sin(x)=\sin(y)$ if $x\equiv y \pmod{2\pi}$.)  It's not too hard to compute $x$ if you use a numerical representation that has enough digits of precision, and then to compute $\sin(x)$ using standard methods.

However, a standard double won't have enough precision to perform this computation.  It only has about 53 bits of precision; that's a lot less than the $99 \lg 10 \approx 329$ bits of precision you'd need to be able to distinguish $10^{99}$ from $10^{99}+1$. (A standard IEEE float cannot even represent values in excess of $3*10^{38}$). Of course, $\sin(10^{99})$ is very different from $\sin(10^{99}+1)$.  So, if you want to compute $\sin(10^{99})$, just stuffing $10^{99}$ into a float or double and then trying to invoke the $\sin(\cdot)$ function on that is not going to end well.

If you want to compute $x$ to at least $b$ bits of precision, you'll probably need a numerical representation that can represent $10^{99}$ to at least $329+b$ bits of precision (probably more than that, for intermediate values that arise during the modular reduction).  A float or double ain't gonna be enough for that.