First let’s clear up a misconception: there is no last term in the expression for $B$. For any term $A_n \cap A_{n+1} \cap A_{n+2} \cap \dots$ there is a next term $A_{n+1} \cap A_{n+2} \cap A_{n+3} \cap\dots$ that is potentially a larger set.
Now to the problem itself: you must start with the definitions of $\limsup$ and $\liminf$ for sequences of functions. If $\langle f_n \rangle_n$ is a sequence of real-valued functions, $$\limsup_{n\to\infty} f_n(x) = \lim_{n\to\infty}\;\; \sup_{m\ge n}f_m(x),$$ and $$\liminf_{n\to\infty}f_n(x) = \lim_{n\to\infty}\;\;\inf_{m\ge n}f_m(x).$$ In your case $f_n = \chi_{A_n}$, so you’re trying to show that $$\lim_{n\to\infty}\;\;\inf_{m\ge n}\chi_{A_m}(x) = \chi_B(x)$$ and $$\lim_{n\to\infty}\;\; \sup_{m\ge n}\chi_{A_m}(x) = \chi_C(x)\;.$$
Since the only values of a characteristic function are $0$ and $1$, it should be clear that $\inf_{m\ge n}\chi_{A_m}(x)$ is always $0$ or $1$, and it’s not hard to see that it’s $1$ iff $\chi_{A_m}(x)=1$ for every $m\ge n$, i.e., iff $x\in A_m$ for every $m\ge n$. Similarly, $\sup_{m\ge n}\chi_{A_m}(x) = 0$ iff $\chi_{A_m}(x)=0$ for every $m\ge n$, which is the case iff $x \notin A_m$ for every $m\ge n$. From here it’s fairly straightforward to get the desired results.
I believe the best reference would include the reason why duplicate elements are extraneous.
It's due to the Axiom of Extentionality.
From Kunen's, Set Theory: An Introduction to Independence Proofs
Axiom of Extentionality
$$\forall x\forall y[\forall z(z\in x\iff z\in y) \iff x=y]$$
In English, two sets are equal if and only if they have the same elements.
So, $\{a,b,c\}= \{a,a,b,b,c,c\}$ by the Axiom.
On page 12, you see the explicit example that $\{x,x\} = \{x\}$.
To see why this generalizes (from a different perspective)
Notice that by the Axiom of Extentionality,
$$\forall x(z\in x\Rightarrow x\cup\{z\} =x)$$
So, adding elements to a set, that are already in it- doesn't change the set.
Best Answer
As to the definition of the indicator set function: $$\chi_A (x) = \begin{cases} 1 \quad \text{if } x\in A\\ 0 \quad \text{if } x\not\in A\\ \end{cases}$$ It practically tells you whether an element is on the set or not.
Therefore, $\chi_A^{-1}(\lbrace 1\rbrace) = \lbrace x\in U: \chi_A(x)=1\rbrace = A$. So the condition translates, directly from definition, into $A\cap B^c = A$\ $B$.