I understand the theorem overall, and that the $\epsilon$ values are arbitrary. Notice how the values $\epsilon_1=\frac\epsilon{2M}$ and $\epsilon_2=\frac\epsilon{2(|t| + 1)}$ are just assumed, and that there is no work showing how they were determined. In fact, many of the proofs in this section of the book omit these calculations. So, my question is (1) how were these values were determined, and (2) why were the corresponding calculations omitted in the proof?
Theorem 9.4 from the book Elementary Analysis: The Theory of Calculus By Kenneth A. Ross.
Theorem: If $(s_n)$ converges to $s$ and $(t_n)$ converges to $t$, then $(s_nt_n)$ converges to $st$. That is, $\lim(s_nt_n) = (\lim s_n)(\lim t_n).$
Before the proof is given, there is a brief discussion which says the trick here is to look at the inequality.
$$\begin{align} |s_nt_n - st| & = |s_nt_n - s_nt + s_nt -st| \\ & \le |s_nt_n - s_nt| + |s_nt - st| \\ & = |s_n|\cdot|t_n - t| + |t|\cdot|s_n -s|\\ \end{align}$$
For large $n$, $|t_n - t|$ and $|s_n - s|$ are small and $|t|$ is, of course, constant. By Theorem 9.1 (a different theorem), $|s_n|$ is bounded, so we will be able to show $|s_nt_n - s_nt|$ is small.
Proof
Let $\epsilon > 0$. By Theorem 9.1 there is a constant $M > 0$ such that $|s_n| \le M$ for all $n$. Since $\lim t_n = t$ there exists $N_1$ such that $$n > N_1\text{ implies }|t_n - t| < {\epsilon \over 2M}.$$ Also, since $\lim s_n = s$ there exists $N_2$ such that $$n > N_2\text{ implies }|s_n - s| < {\epsilon \over 2(|t| + 1)}.$$ [We used $ \epsilon \over 2(|t| + 1)$ instead of $ \epsilon \over 2|t|$, because $t$ could be $0$.] Now if $N = \max\{N_1, N_2\}$, then $n > N$ implies $$\begin{align}|s_nt_n - st| & \le |s_n|\cdot|t_n - t| + |t|\cdot|s_n -s|\\ & \le M \cdot \frac\epsilon{2M} + |t|\cdot{\epsilon \over 2(|t| + 1)} < {\epsilon\over2} + {\epsilon \over2}=\epsilon.\end{align} \qquad\square$$
This requires some 'looking ahead' in the proof, to see what values will eventually let you end up with a nice and neat "$< \varepsilon$" at the end of the proof, in accordance with the standard definition of convergence of a sequence.
Using the definitions of convergence of $s_n$ and $t_n$, you could just take $|s_n-s| < \varepsilon_1$ and $|t_n-t| < \varepsilon_2$, but then you end up with: $$|s_nt_n-st| \le (\cdots) \le M \cdot \varepsilon_2 + |t| \cdot \varepsilon_1$$ This final expression can be made arbitrarily small, which is what you want, because both $\varepsilon_1$ and $\varepsilon_2$ can be made arbitrarily small and they are only multiplied with constant factors and then added. But it doesn't look very elegant.
It's a typical style of mathematical proofs to choose the values of $\varepsilon_1$ and $\varepsilon_2$ in such a way that the end of the proof is 'nice'; i.e. things cancel out and you end up with just $\varepsilon$ as an upper bound.
In this proof, you see that $\varepsilon_2$ gets multiplied with $M$ so choosing $\varepsilon_2 = \varepsilon/M$ will make the factor M disappear and only leaves $\varepsilon$. Since there will be a second term, you add an extra factor $1/2$ in order to get $\varepsilon/2+\varepsilon/2 = \varepsilon$ at the end.
The choice of $\varepsilon_1$ is similar (you want to lose the factor $|t|$) but slightly more tricky since we want to avoid having a denominator that could become 0, hence the small trick of adding an extra 1.
Does this help?