I'm trying to read mostly harmless econometrics. They give a proof for the Anova Theorem in which they use that fact that E[y|X] and $\epsilon$ are uncorrelated. I assume they say that as before they have shown that E[h(X)$\epsilon$] is 0. So I guess the conditional expectation is just one possible function of X? This confuses me, however. After all $\epsilon$ is defined as y - E[y|X], how can they be uncorrelated?
Per the above comment, I think you asked the question in a way that your notation is wrong. It sounds like you are asking, in a model that is $Y=c+aX+\epsilon$ why $\epsilon$ is independent/uncorrelated with the other variables, namely $X$ and $E[Y|X]$ - as well as why each $\epsilon_i$ is independent of the others.
It is an assumption. If you assume that, then normal regression (OLS, or Ordinary Least Sqaures) (1) works in a straighforward way and (2) has desirable/optimal properties (like giving unbiased estimators).
If that weren't true, you would need to fiddle with the data or do more complex regressions. For example, if the $\epsilon$'s were correlated with each other, you have a problem called autocorrelation.
In theory one ought to review the $\epsilon$'s to make sure they are independent and normally distributed. When I asked an econometrics professor once why people don't do that, he laughed and said "because they wouldn't be what you want, and you couldn't publish".
In the conditional expectation function set up of a relation,
$$y = E(y \mid x) + e$$
it is true that
$$E(e \mid x) = 0 \implies E[h(x)e] = 0$$
$$E[h(x)e] = E[E(h(x)e\mid x)] = E[h(x)E(e\mid x)] = E[h(x)\cdot 0] = 0$$
Now let's examine
$$E[E(y\mid x) \cdot e]$$
To avoid confusion denote $E(y\mid x) \equiv Z$. Then applying the same tatic as before,
$$E[Z \cdot e] = E[ E(Ze\mid x)]= E[Z E(e\mid x)] = E[Z \cdot 0] = 0$$
And yes, this holds because $E(y \mid x)$ is just another function of $x$.