Let's work through this in pieces. Since you've shown your work and are doing this for self-study, I'm going to be overly verbose in the interest of being explicit and complete (hopefully).
What does $\mathcal B$ look like?
Since $\{B_n\}$ is a countable partition then we know intersections are empty, hence in $\sigma(B_n,n \geq 1)$, and by closure under countable unions, we know that for each $I \subset \mathbb N$, $\bigcup_{i \in I} B_i$ must also be in the $\sigma$-algebra. So a good first guess might be to look at the system
$$
\mathcal F := \big\{ \bigcup_{i \in I} B_i: I \subset \mathbb N \big\} \>.
$$
Clearly $\mathcal F \subset \mathcal B$ as described above. Check the axioms to see that $\mathcal F$ is, itself, a $\sigma$-algebra and conclude that $\mathcal F = \mathcal B$.
$X$ is a random variable.
Suppose $\newcommand{\o}{\omega} X(\o) = \sum_n c_n 1_{B_n}(\o)$. Then, since $\o$ is in exactly one $B_n$, $X$ has (at most) countable range and we can check measurability by looking at the sets $\{\o:X(\o) = x\}$. But,
$$
\{\o:X(\o) = x\} = \bigcup_n \{B_n : c_n = x\} \in \mathcal B \>.
$$
Thus, $X$ is a random variable.
All random variables look like $X$.
Suppose $X$ is a random variable measurable with respect to $\mathcal B$.
The key is to work with the "right" sets. For each $B_n$, choose an $\o_n \in B_n$ and set $x_n = X(\o_n)$. Then $X^{-1}(\{x_n\})$ is measurable since $\{x_n\} \in \mathcal B(\mathbb R)$. But, this implies that there exists $I \subset \mathbb N$ such that
$$
X^{-1}(\{x_n\}) = \bigcup_{i \in I} B_i \>.
$$
Since $X(\o_n) = x_n$, we have that $B_n \subset \bigcup_{i \in I} B_i$ and so for all $\o \in B_n$, $X(\o) = X(\o_n) = x_n$. In other words, $X$ is constant on each $B_n$.
There are only countably many $B_n$, so $X$ can take at most a countable number of values. Let these (distinct) values be $a_1, a_2,\ldots$ and take $A_n = X^{-1}(\{a_n\})$. Then, $A_n$ are disjoint, partition $\Omega$ and are composed of the union of sets $B_n$ such that each such union is pairwise disjoint. For example, for $n \neq m$,
$$
A_n := X^{-1}(\{a_n\}) = \bigcup_{i \in I_n} B_i \>,
$$
and
$$
A_m := X^{-1}(\{a_m\}) = \bigcup_{i \in I_m} B_i \>,
$$
and $I_n \bigcap I_m = \varnothing$.
Now we have enough to explicitly construct $X$. For a given $I_n$, set $c_i = a_n$ for all $i \in I_n$. Then, $X = \sum_i c_i 1_{B_i}$ as desired.
Side note: Resnick is a quite good book, particularly for self-study. However, be aware that there are a nonnegligible number of exercises that appear in chapters for which the necessary theory to solve them has not yet been introduced or developed. (I'm not speaking of this particular exercise, though.)
Your conception of "real-valued" is right. The problem with your definition is that $P(Y=y)$ is generally $0$, assuming that the joint distribution is smooth. So your definition rests on dividing by zero.
It may seem easy to fix this by using a limiting definition instead, but as the Borel-Kolmogorov paradox shows, the "obvious" way to do this does not lead to a well-defined probability distribution. Or, more precisely, the probabilities you get that way depend not only on what null set the condition is, but also on how you approximate it.
Best Answer
Notice that simple random variable takes finitely many values.
Consider geometric distribution where it can take arbitrary positive numbers, hence it can't be a simple random variable.