The $x$ from the intersection is in $\Bbb R=\{x_1,x_2,\dots\}$, so there exists some $N$ such that $x=x_N$. But by construction of the sequence $I_n$, $x_n\notin I_n$ for all $n$; in particular, $x_N\notin I_N$ and therefore $x=x_N\notin\bigcap_{n=1}^\infty I_n$.

I think the restriction on lengths should be $l(I_n)=(b-a)/2^{n-1}$ instead of $l(I_n)=(a+b)/2^{n-1}$. In fact, I am not sure $2^{n-1}$ works because it is not always possible to cut the length of the previous interval in half. Namely, if $I_n=[a_n,b_n]$ and $x_{n+1}=(a_n+b_n)/2$, I don't see how to select $[a_{n+1},b_{n+1}]\subset [a_n,b_n]$ such that $x_{n+1}\notin [a_{n+1},b_{n+1}]$ and $b_{n+1}-a_{n+1}=(b_n-a_n)/2$. It is possible to make the next interval 3 times shorter than the previous one. However, I believe it is not essential that the length of intervals tends to 0. The main point is that the intervals are nested and closed; therefore, their intersection is nonempty and contains some $x$, which appears in the enumeration $x_1,x_2,\dots$ as $x_N$ for some $N$. But this $x_N$ was excluded on step $N$, so it can't be in the intersection, a contradiction.