Simpler proof - Non atomic measures
Solution 1:
Clearly b) implies a), so I directly prove b). Let $E\in\mathcal E$ be such that $\mu(E)>0$. Let $A_1\in\mathcal E$ be such that $A_1\subseteq E$ and $0<\mu(A_1)<\mu(E)$. Then either $\mu(A_1)\leq\mu(E)/2$ or $\mu(E\setminus A_1)\leq\mu(E)/2$, so if necessary we consider $E\setminus A_1$ instead of $A_1$, and we can assume that $0<\mu(A_1)<\mu(E)/2$. Now repeat the process with $A_1$ instead of $E$, obtaining a subset $A_2$ of $A_1$ such that $0<\mu(A_2)<\mu(E)/2^2$. Continuing in this way we see that $E$ contains subsets with arbitrarily small positive measure.
Let $\epsilon\in\bigl(0,\mu(X)\bigr)$, and let $A_1\subseteq X$ be such that $0<\mu(A_1)<\epsilon$.
Edit: I expanded this part of the argument, at request of @Michael Greinecker for further clarification.
Suppose that pairwise disjoint subsets $A_1,\dots,A_n$ of $X$ have been chosen such that $D_n=A_1\cup\cdots\cup A_n$ satisfies $\mu(D_n)<\epsilon$. The first paragraph shows that the family
$$\mathcal F_n=\bigl\{C\subseteq X\setminus D_n: 0<\mu(C)<\epsilon-\mu(D_n)\bigr\}$$
is nonempty; however, we cannot determine at this point if the family
$$\mathcal G_n=\bigl\{C\subseteq X\setminus D_n: \frac1n\leq\mu(C)<\epsilon-\mu(D_n)\bigr\}$$
is nonempty as well. We take $A_{n+1}\in\mathcal G_n$ if $\mathcal G_n\ne\emptyset$ and $A_{n+1}\in\mathcal F_n$ otherwise.
If $A=\cup_{n=1}^\infty A_n$, then $\mu(A)=\sum_{n=1}^\infty\mu(A_n)\leq\epsilon$. Suppose that the strict equality holds, that is $\mu(A)<\epsilon$, and let $B\subseteq X\setminus A$ be such that $0<\mu(B)<\epsilon-\mu(A)$. Then for all $n$ we have $B\subseteq X\setminus D_n$, and since $\mu(D_n)\leq\mu(A)$, it follows that $0<\mu(B)<\epsilon-\mu(D_n)$.
If $N$ satisfies $\frac1N\leq\mu(B)$ then for all $n\geq N$ we have $B\in\mathcal G_n$. Thus, $\mathcal G_n\ne\emptyset$, so by construction necessarily we have $\mu(A_n)\geq\frac1n$ for all $n\geq N$, which is absurd because in this case $\mu(A)\geq\sum_{n=N}^\infty\mu(A_n)\geq\sum_{n=N}^\infty\frac1n=\infty$. This contradiction shows that $\mu(A)=\epsilon$, as desired.
Solution 2:
Here is an argument: WLOG $\mu(X) = 1$. Note that it is enough to show that every set can be divided into two pieces of equal measure since then you can get every measure in $[0, 1]$ using countable sums of numbers of the form $1/2^n$. First we show that for any $Y \subset X$ and any $\epsilon > 0$, there is a subset of $Y$ of measure less than $\epsilon$. This is done by dividing $Y$ into two pieces and then dividing the smaller piece into two pieces and so on. In some finite number of steps we will reduce the measure by a large enough factor so eventually we get a piece of measure less than $\epsilon$. Now fix $Y \subset X$. By induction on ordinals $\alpha$, build a transfinite sequence of increasing subsets $Y_{\alpha} \subset Y$ as follows: $Y_0$ is a subset of $Y$ of measure less than $1/2$. At limit stages take union and stop if the union has exactly one half the measure of $Y$. At successor stage $\alpha + 1$, let $Y_{\alpha + 1}$ be $Y_{\alpha}$ union a piece of $Y \backslash Y_{\alpha}$ of measure less than $1/2 - \mu(Y_{\alpha})$. The construction stops in countably many steps because $\mu(Y_{\alpha})$ increases with $\alpha$.
Solution 3:
Here is a quick and dirty nonconstructive proof: Order measurable subsets of $E$ such that $F<G$ iff $F\subseteq G$ and $\mu(F)<\mu(G)$. Take a maximal chain $\mathcal{C}$ in the order. Take any $r\in (0,\mu(E))$. Let $r_1$ be the supremum of values of $\mu$ in $\mathcal{C}$ smaller than $r$ and let $r_2$ be the infimum of values of $\mu$ in $\mathcal{C}$ larger than $r$. Let $(A_n)$ be a sequence in $\mathcal{C}$ with measure increasing to $r_1$ and $(B_n)$ a sequence in $\mathcal{C}$ with measure decreasing to $r_2$. If there is no $R_1\in\mathcal{C}$ with $\mu(R_1)=r_1$, one could add such $R_1$ as $$R_1=\bigcup_n \bigg(A_n\cap\bigcap_m B_m\bigg),$$ contradicting the maximality of $\mathcal{C}$. Similar, we can find $R_2\in\mathcal{C}$ with $\mu(R_2)=r_2$. We are done if $r_1=r_2$, so suppose this isn't the case. By nonatomicity, there is measurable $A\subseteq R_2\backslash R_1$ with $\mu(A)>0$ but then we have either $\mu(R_1\cup A)=r$, $r_1<\mu(R_1\cup A)<r$, or $r<\mu(R_1\cup A)<r_2$, and the last two cases lead to a contradiction.
Solution 4:
I think first it would help to establish the existance of $\it any$ set $A$ with $0<\mu(A)\leq\epsilon$. This is straightforward. Take any subset $A_1$ of $X$ with $\mu(A_1)>0$. By your definitions such a set must exist. Notice that $A_1^c$ is in your sigma algebra and $\mu(A^1_c)>0$. Then, find a subset $A_2$ of $A_1$ with $0<\mu(A_2)<\mu(A_1)$. Notice that $A_2^c\cap A_1$ is in your sigma algebra and has positive measure. Now do the same for the set $A_1^c$. This process invariably builds up an increasingly refined partition of your space. Since the size of the partition doubles at each step, this means that sooner or later, we must have some partition element with measure less than $\epsilon$. That is, sooner or later $\epsilon 2^n>\mu(X)$. Notice this is where we need the finiteness condition.
Now consider the following process. Start with $X$ and do the above until you find an $X_1$ with $\mu(X_1)\leq\epsilon$. As we said above, you can do it in finitely many steps. Now take $X-X_1$ and repeat the above to find an $X_2$ with $\mu(X_2)\leq\epsilon$. Then look at $X-X_1-X_2$. Ultimately you will get a sequence $X_1,X_2,\ldots$ of your space with $\mu(X_i)\leq\epsilon$. The issue of course is if it becomes a partition as what can happen is the measure of each $X_i$ can decrease too fast, giving a sequence that's NOT a partition. This is fixed below.
We will show that for every $A$ with $0<\mu(A)$, we can find a set $B$ with $B\subset A$ and $\mu(A)/2\leq \mu(B)<\mu(A)$. We know that we can find a $B\subset A$ so that $0<\mu(B)<\mu(A)$. Take $B^c\cap A$, which is again a subset of $A$. Clearly $B\cup (B^c\cap A)=A$ and both are disjoint, so one of them must have measure at least $\mu(A)/2$.
Solution 5:
Proof of (b): Let $$\mathcal P=\{E \in\mathcal E: \mu(E)\le\alpha\}$$ This is a partially ordered set, ordered by "almost-everywhere" inclusion (meaning that $E\le F$ when $\mu(E\setminus F)=0$).
I claim that every chain $\mathcal C \subset\mathcal P$ has an upper bound. Namely, given such a chain, let $\beta=\sup_{E\in \mathcal C}\mu(E)$, and let $E_{1},E_{2},\dots$ be a countable subset of the chain where $\mu(E_{n})\uparrow \beta$. Then $E=\bigcup_{n=1}^\infty E_{n}$ will be the desired upper bound. To see this, given any $F\in\mathcal C$, there are two cases. If for some $n$, we have $E_n\ge F$, then clearly $E\ge F$. Otherwise, $E_n\le F$ for all $n$, meaning $\mu(F)=\beta$ and $$ \mu(F\setminus E)=\lim_n \mu(F\setminus E_n)=\lim_n \mu(F)-\mu(E_n)=\beta-\beta=0. $$ so again, $F\le E$.
We have shown every chain has an upper bound, which by Zorn's Lemma proves that $\mathcal P$ has an upper bound, $G$. We can then show that $\mu(G)=\alpha$. If not, then using the fact that $\mu$ is nonatomic* we could find a subset $H$ of $X\setminus G$ where $0<\mu(H)<\alpha-\mu(G)$, so that $G\cup H\in \mathcal P$, contradicting the maximality of $G$.
*Here we use the lemma that if $\mu$ is nonatomic and $E\in \mathcal E$, then there exist subsets of $E$ of arbitrarily small positive size. This can be easily proven from the definition of non-atomic.