Number of roots of a separable polynomial over a connected ring does not exceed deg $f$. Let $R$ be a connected ring (i.e. $X^2 - X$ has exactly two roots), and $f ∈ R[X]$ a separable polynomial:
$$ R[X] = R[X]f + R[X]f'.$$
Let $a,b ∈ R$ be roots of $f$, and $g ∈ R[X]$ be such that $f = (X-a)g$. 
To demonstrate: $f$ has at most deg $f$ roots. 
I've already proven that in connected rings, we have for ideals $I, J \trianglelefteq R$: 
$$(IJ = \{0\} \wedge I+J = R) \Rightarrow \{I,J\} = \{\{0\}, R\}.
$$
I've also shown that the ideals $I := R· (b-a), J := R· g(b)$ satisfy the property $IJ = \{0\} \wedge I+J = R$. This leads us to two cases: I) $R(b-a) = \{0\} \wedge Rg(b) = R$; II) $R(b-a) = R \wedge Rg(b) = \{0\}.$
Case I. 
We have $b-a=0$, so $b=a$. Note that $f ≠ 0$. If deg$f = 0$, $f$ has no roots, which contradicts $a,b$ being roots. Hence $f$ is not constant: deg$f ≥ 1$. Because $a,b$ were arbitrary roots, and they are equal, $f$ has only 1 root, and we are also done.
Case II.
We know that $b≠a$, because $b-a \in R^* \subseteq R \setminus \{0\}$. This is were I get stuck. I haven't tried an induction proof yet (I tend to avoid those), but maybe that is the only way. 
Edit
I can't even do it for the base case. This is the case deg$f = 2$, because we have, by assumption, two distinct roots. Then deg $g = 1$, so we can write $g = g_1X + g_0$. As $g(b) = 0$, we find $g_1b = -g_0$. Suppose there exists a third root $c$. Then we have: 
$$ 0 = f(c) = (c-a)g(c) = (c-a)(g_1c+g_0) = g_1(c-a)(c-b).
$$
This should give a contradiction, but I don't see it.
 A: You seem to be getting badly confused about the role of $a$ and $b$ in this argument.  The first thing to understand is that this entire business with $a$ and $b$ is not an argument to solve the problem on its own, but is rather supposed to be embedded inside an induction proof.  In particular, the goal is not to prove directly that $f$ has at most $\deg f$ roots in each case, but instead to reach a different conclusion which supports the induction step of the proof.
Here's the correct setup for the proof.  We prove by induction on $\deg f$ that if $f$ is a separable polynomial over $R$, then $f$ has at most $n$ roots (note that $a$ and $b$ are not part of the statement at all yet, and will only be introduced later).  The base case is $\deg f=0$, in which case trivially $f$ cannot have any roots since it is a nonzero constant polynomial.
Now suppose $\deg f>0$ and the result is already known for polynomials of smaller degree.  If $f$ has no roots we are done; otherwise, let $a$ be some root of $f$.  We can then factor $f(X)=(X-a)g(X)$ for some polynomial $g$.  Then $g$ is also separable (proof left as an exercise), and so by the induction hypothesis it has at most $\deg g=\deg f-1$ roots.  If we can show that every root of $f$ is either equal to $a$ or a root of $g$, we can then conclude that $f$ has at most $\deg f$ roots.
So here's where $b$ comes in: we let $b$ be an arbitrary root of $f$, and our goal now is to prove that either $b=a$ or $b$ is a root of $g$.  Now the cases you consider finally come in handy: in Case I we have $b-a=0$ and so $b=a$, and in Case II we have $g(b)=0$ and so $b$ is a root of $g$.
