The question:
Let us enumerate the set of rationals $\mathbb Q = \{r_n\}_{n=1}^{\infty}$ and define \begin{equation} B = \bigcup_{n=1}^{\infty} \left(r_n - \frac 1 {2^n}, r_n + \frac 1 {2^n}\right)\,. \end{equation} Show that the outer measure $m^*(B) < \infty$ and therefore $B\subseteq \mathbb R$.
If $A = B^c$, show also that $A$ is closed, $A$ does not contain any empty open interval and that $m^*(A) = \infty$.
An attempt at an answer:
Let $B_n = \left(r_n - \frac 1 {2^n}, r_n + \frac 1 {2^n}\right)$. Then according to the definition of length $\ell$, as $B_n$ is an open interval, \begin{equation} \ell(B) = r_n + \frac 1 {2^n} - \left( r_n - \frac 1 {2^n} \right) = \frac 2 {2^n} = \frac 1 {2^{n-1}}\,. \end{equation} Therefore \begin{equation} m^*(B) = \inf\left\{\sum_{n=1}^{\infty} \ell(B_n)\right\} = \inf\left\{\sum_{n=1}^{\infty} \frac 1 {2^{n-1}}\right\} = 2, \end{equation} since the series in question is a geometric series that converges to $2$. Therefore $m^*(B) < \infty$ and according to definition, $B$ has to be of the form $(a,b)$, where $a,b\in\mathbb R$. Therefore $B\subseteq \mathbb R$.
As for the set $A = B^c$, since $B$ was open according to the above, $A$ is closed by definition. However this is as far as I got. I tried assuming that $A$ does contain an open unempty interval, but that got me nowhere:
If $A$ did indeed contain such an interval $I = (c,d) \subset A$, there would be an $a\in A$ and a $\delta > 0$, with which $(a - \delta,a + \delta)\subseteq I$. Also, in this case $0 < \ell(c,d) = d - c < \infty$. Maybe my understanding of the situation is lacking, but to me this doesn't seem to imply anything meaningful and I can't seem to think of a direct proof.
Any help would be much appreciated.
Your proof for the outer measure being finite is good. There are some errors in what you write after, though.
$B$ is certainly not of the form $(a,b)$. This is easily shown, assume that it is of the form $(a,b)$ for some $a,b\in\mathbb{R}$. Then we can take the ceiling of $b$, $\lceil b\rceil$, which must be rational and is greater than $b$. But all rational points are in $B$, a contradiction.
The reason $B$ is open is that it is the union of open sets, which is open by definition of a topology. To see that $A$ cannot contain a nonempty open subset, assume it does. Then, $\forall a\in A$ we have that there is a neighborhood of $a$ contained entirely in $A$, we denote this neighborhood $(a-\epsilon,a+\epsilon)$ for some $\epsilon>0$. By the density of the rational numbers in $\mathbb{R}$, $\exists q\in \mathbb{Q}$ such that $q\in(a-\epsilon,a+\epsilon)$. But, since $q$ is rational, we have that $q\in B$ which is the complement of $A$, a contradiciton. Thus such a nonempty open subset of $A$ cannot exist.