Can subsequences be finite?
Yes the subsequence must be infinite. Any subsequence is itself a sequence, and a sequence is basically a function from the naturals to the reals.
Usually, this is the definition of subsequence.
Definition. Let $\{p_n\}_n$ be a sequence (in some set), and let $n_1<n_2<n_3<\ldots$ be a strictly increasing sequence of positive integers. Then the sequence $\{p_{n_j}\}_j$ is called a subsequence of $\{p_n\}_n$.
It follows that $\{p_1,p_2,p_3\}$ is not a subsequence of $\{p_n\}_n$, since $n_1=1$, $n_2=2$, $n_3=3$, but what is $n_4$? This is the common feeling for mathematical analysts.
However, we must be careful, since it all boils down to the very definition of sequence. In analysis, a sequence is a function $\mathbb{N} \to X$, or, more generally, a function $N \to X$, where $N \subset \mathbb{N}$ is such that $N$ contains all sufficiently large integers. In other disciplines, it might be useful to call sequence any function defined on a subset of $\mathbb{N}$, even a finite one.
A sequence in a set $X$ is a function $f:\mathbb{N}\rightarrow X$. Let $g:\mathbb{N} \rightarrow \mathbb{N}$ be a strictly increasing sequence, then the composition of $f$ and $g$, is called a subsequence of $f$. Thus the domain of a subsequence is always infinite, but the range can certainly be finite.
As an example consider the sequence $f(n):=n$ even $n$ and $f(n):=1$ odd $n$. Let $g(n):=2n+1$. The range of $f\circ g$ is equal to $\{1\}$, which is finite.