Prove that language of possible stack content is regular
Here is the basic idea. Assume for simplicity that each transition increases the size of the stack by at most one (you can always arrange that using epsilon transitions).

Suppose that the stack at some point is (bottom to top) $A_1 \ldots A_n$. At the time $t$ of the snapshot, $A_1$ is at the bottom of the stack. Consider the earliest time $t_1$ such that from time $t_1$ to time $t$, $A_1$ was always the bottom of the stack. At time $t_1$, the stack is simply $A_1$.

Similarly, there is an earliest time $t_2$ at which $A_2$ was second from last symbol on the stack, and at time $t_2$, the stack is $A_1 A_2$. We can similarly define times $t_3,\ldots,t_n$. We can describe the state of the stack schematically as follows:
$$
\bot \vdash^* A_1 \vdash^* A_1 A_2 \vdash^* \cdots \vdash^* A_1 A_2 \ldots A_n.
$$
The first step is special, so let's consider any other step. Think about what information is required to known whether you can get from $A_1 A_2 \ldots A_i$ to $A_1 A_2 \ldots A_{i+1}$, without every removing $A_1 A_2 \ldots A_i$. If the amount of information is finite, then you can use it to construct an automaton for your language.