Four. (20 points) In the sequence $\left\{a_{n}\right\}$, $a_{1}, a_{2}$ are given non-zero integers, $a_{n+2}=\left|a_{n+1}-a_{n}\right|$.
(1) If $a_{16}=4, a_{17}=1$, find $a_{2018}$;
(2) Prove: From $\left\{a_{n}\right\}$, it is always possible to select infinitely many terms to form two different constant subsequences.
(1) It is easy to see,
$$
\begin{array}{l}
a_{16}=4, a_{17}=1, a_{18}=3, a_{19}=2, a_{20}=1, \\
a_{21}=1, a_{22}=0, a_{23}=1, a_{24}=1, a_{25}=0, \\
\cdots \cdots
\end{array}
$$

Notice that, starting from the 20th term, every three consecutive terms periodically take the values $1, 1, 0$.
$$
\begin{array}{l}
\text { Also, } 2018=19+666 \times 3+1 \text {, so } \\
a_{2018}=1 .
\end{array}
$$
(2) First, we prove: the sequence $\left\{a_{n}\right\}$ must have a "0" term after a finite number of terms.
Assume $\left\{a_{n}\right\}$ does not have a "0" term.
Since $a_{n+2}=\left|a_{n+1}-a_{n}\right|$, then for $n \geqslant 3$, we have $a_{n} \geqslant 1$.
If $a_{n+1}>a_{n}$, then
$$
a_{n+2}=a_{n+1}-a_{n} \leqslant a_{n+1}-1(n \geqslant 3) \text {; }
$$

If $a_{n+1}a_{2 n+2} \\
a_{2 n+2}, & a_{2 n+1}0$ leads to a contradiction.
Therefore, $\left\{a_{n}\right\}$ must have a "0" term.
If the first "0" term is $a_{n}$, let $a_{n-1}=$ $M(M \neq 0)$, then starting from the $n$-th term, every three consecutive terms periodically take the values $0, M, M$, i.e.,
$$
a_{n+3 k}=0, a_{n+3 k+1}=M, a_{n+3 k+2}=M,
$$

where $k=0,1, \cdots$.
Thus, the sequence $\left\{a_{n}\right\}$ can select infinitely many terms to form two different constant subsequences.