The currently known method of finding the first digits of $a^b$ is multiplying $\log_{10} a$ by b, and extracting the fractional part. This allows us to compute the first digits of quite large numbers (for example, $2 \uparrow\uparrow 6 = 212003872880821198488516469166227...$). This works for numbers up to roughly 10 to the power of the largest number that can be stored in a computer's memory (the largest number we could find the first digits of this way would be around $10^{10^{10^9}}$).
To go much further than the limit of the currently known method for finding first digits would require a way to compute base-b digits (for any positive integer $b \ge 2$) of the base-10 logarithm of any positive number beginning at a given position without having to compute all of the digits up to there. This would likely involve a series for $\log_{10} n$ (NOT $\ln n$). There is a spigot algorithm for $\ln(2)$, but none for base-10 logarithms as far as I'm sure.
The example in the first paragraph would be equivalent to finding the bits of the binary representation of $\log_{10} 2$ beginning at the 65,537th bit (the first 65,536 bits would be the integer part of $2^{65536} \log_{10} 2$). Something like $3 \uparrow\uparrow 5$, however, would require finding ternary digits of log_10(3) beginning at the 7,625,597,484,988th place, which is virtually infeasible without such an algorithm.
Is there an efficient way to extract base-b digits of $\log_{10} a$ beginning at the c-th place even for large values of c?