GIVEN
Define a map \begin{equation*} \label{eq1} \begin{split} \rho(x,y) = \begin{cases} 2^{-k} \ \ \ &\text{if } x \neq y, \text{ and } k \text{ is maximal so that } x_{[-k.k]} = y_{[-k,k]}, \\ 0 \ \ \ &\text{if } x = y. \end{cases} \end{split} \end{equation*}
Obviously $\rho$ is metric on $M$.
Know
We let $x^{(n)}$ be a sequence in $M$.
Do Not Know
How to use the Cantor diagnoalization to get a subsequence for $k \geq 1$. That is, finding a decreasing sequence of infinite subsets $S_{k}$ of positive integers so that all blocks $x_{[-k.k]}^{(n)}$ are equal for $n\in S_{k}$.
Know (continued)
We then define $x$ to be the point with $x_{[-k,k]}$ = $x_{[-k.k]}$ for all $n \in S_{k}$, and inductively define $n_{k}$ as the smallest element of $S_{k}$ which exceeds $n_{k-1}$. Then $x\in M$, and $x^{(n_k)}$ converges to $x$ as $k \rightarrow \infty$.
If we are given a sequence (of sequences) $(a^{(n)})_{n \in \mathbb{N}}$ in $A^\mathbb{Z}$, where $A$ is a finite alphabet, then recursively define infinite subsets $N_k \subseteq \mathbb{N}, k \in \mathbb{N}$, where $N_{k+1} \subseteq N_k$ for all $k$, and simultaneously $b_k \in A, k \in \mathbb{Z}$ such that $a^{(n)}_{[-k,k]} = b_{[-k,k]}$ for all $n \in N_k$.
This is quite easy to do: consider first $a^{(n)}_0$ for $n \in \mathbb{N}$, which is an infinite sequence in a finite set $A$, so that there is at least one of them (take the minimal one, for some fixed linear order on $A$, if you want to be totally constructive), which we call $b_0$ that occurs infinitely often, say $a^{(n)}_0 = b_0$ for $n \in N_0$, which thus is infinite.
Next, the infinitely many pairs of values $(a^{(n)}_{-1},a^{(n)}_{1})$ for $n \in N_0$ also only occur in a finite set $A^2$ and again we take the minimal of the infinitely recurring set (the minimum lexicographically, if constructive) and its index set as $N_1$ and the repeated values we call $(b_{-1},b_1)$.
Continue this way, extending by two new $b$ on the left and right every next step to define all $N_k$ and the sequence $b \in A^\mathbb{Z}$.
Now note that $a^(n)$ for $n= \min(N_0), \min(N_1), \min(N_2), \ldots$ will be a subsequence of the original sequence that converges to $b$, because all sequence elements after the $k$-th subindex agree with $b$ on $[-k,k]$ already so have distance $2^{-k}$ to it. To make it a proper subsequence (all distinct indices) we just need one refinement in the construction above: if $\min(N_k)$ happened to still be in $N_{k+1}$ (which could happen), toss it out. It doesn't matter for the next step (all we need is infinitely many indices at each finite stage) but makes it nicer at the end.
This is just a standard recursive construction, not Cantor's diagonalisation argument, BTW. This kind of construction is very common in more advanced topology as well.
Note to the set-theoretically inclined: it shows that $F^\mathbb{N}$ is sequentially compact (for $F$ a finite set, we can use any explicitly countably-enumerated index set as power) in ZF (so without choice), as everything can be made to work in a setting without choice. Not that it matter much to me, but to some it does. This is already well-known of course. It's a rare case where we can prove a form of compactness in products without needing some form of AC.