Given $\lbrace \epsilon_n \rbrace$, then $\exists \lbrace E_n \rbrace$ s.t. $m(E_n)= \epsilon_n$ I made this statement to myself as lemma to prove another statement. Could someone help me to check if this is correct or not?
Question.  Let $E \subset \mathbb{R}$. Show that if $m(E)<+\infty$, Given $\lbrace\epsilon_n\rbrace$ with $\epsilon_n \geq 0$, $\epsilon_{n+1} \leq \epsilon_{n}$ and $\lim_{n \rightarrow \infty} \epsilon_n=0, \sum_{n=1}^{\infty} \epsilon_n=m(E)$, then there exists $\lbrace E_n\rbrace$ such that $E_i \cap E_j=\emptyset$ $(i \neq j)$, $E=\bigcup_{n=1}^{\infty} E_n$, and $m(E_n)=\epsilon_n$.
Proof. Let $\tilde{A}_x = E \cap (-x, x)$. Define $A(x)=m(E \cap (-x, x))$, $x \in[0,+\infty)$. Obviously, $A$ is continuous with respect to $x$, and $A(0)=0, \lim _{x \rightarrow \infty} A(x)=m(E)$. Then $\exists x_n$ such that $A(x_n)=\epsilon_1+\cdots+\epsilon_n$. Let $E_1=\tilde{A}_{x_1}$, $E_n=\tilde{A}_{x_n} \setminus \tilde{A}_{x_n-1}$, $n \geq 2$. Then we are done.
Remark. If $m(E)=+\infty$, we can take $\epsilon_n=1$ for all $n$, then we still have the similar result.

Your proof is not valid. $m(A\setminus B)=m(A)-m(B)$ is not always true. It is true if $B \subseteq A$ but you don't have $\tilde A(x_{n-1}) \subseteq \tilde A(x_n)$. Because of this you don't have $m(E_n)=\epsilon_n$.
Choose $x_1$ such that $m(E\cap (-\infty,x_1))=\epsilon_1$. Then consider continuity of $m(E \cap (x_1,x))$ for $x>x_1$ and conclude that there exists $x_2>x_1$ with $m(E \cap(x_1,x_2))=\epsilon_1$ and so on. The sets $E_1=E\cap (-\infty,x_1), E_2=E\cap (x_1,x_2),...$ are automatically disjoint.
EDIT: The revised proof in the question is now correct.
