> 1. Is Greene being sloppy? Should he actually have written: $E(y|X)=X\beta$? This is a "linearity assumption" that actually puts
> structure on the model.

In a sense, yes and no. In the one hand, yes, [given current modern causality research][1] he is sloppy, but just like most econometrics textbooks are, in the sense that they do not make a clear distinction of causal and observational quantities, leading to common confusions like this very question. But, in the  other hand, no, this assumption is not sloppy in the sense that it is indeed different from simply assuming $E(y|X)=X\beta$.

The crux of the matter here is the [difference between the conditional expectation, $E(y|X)$,  and the *structural* (causal) equation of $y$, as well as its structural (causal) expectation $E[Y|do(X)]$][2]. The linearity assumption in Greene is a *structural* assumption. Let's see a simple example. Imagine the structural equation is:

$$
y= \beta x + \gamma x^2 + \epsilon 
$$

Now let $E[\epsilon |x] = \delta x - \gamma x^2$. Then we would have:

$$
E[y|x] = \beta'x 
$$

where $\beta' = \beta + \delta$. Moreover, we can write $y = \beta'x + \epsilon'$ and we would have $E[\epsilon'|x] = 0$. This shows we can have a  *correctly specified* linear conditional expectation $E[y|x]$ which by definition is going to have an orthogonal disturbance, yet the structural equation would be nonlinear. 

> 2. Or do I have to accept that the linearity assumption does not put structure on the model but only defines an $\epsilon$, where the other
> assumptions will use that definition of $\epsilon$ to put structure on
> the model?

The linearity assumption does define an $\epsilon$, that is, $\epsilon := y - X\beta = y - E[Y|do(X)]$ by definition, where $\epsilon$ represents the deviations of $y$ from its expectation when we experimentally **set** $X$ ([see Pearl section 5.4][3]). The other assumptions are used either for **identification** of the structural parameters (for instance, the assumption of exogeneity of $\epsilon$) or for derivation of **statistical properties of the estimators** (for instance, the assumption of normality or homoskedasticity).

> However, the linearity assumption **by itself** does not put any
> structure on our model, since $\epsilon$ can be completely arbitrary.
> **For any variables $X, y$ whatsoever, no matter what the relation between the two we could define an $\epsilon$ such that the linearity
> assumption holds.**

Your statement here goes into the main problem of causal inference in general! As shown in the simple example above, we can cook up structural disturbances that could make the conditional expectation of $y$ given $x$ linear. In general, several different structural (causal) models can have the same observational distribution, [you can even have causation without observed association.][4] Therefore, in this sense, you are correct --- we need more assumptions on $\epsilon$ in order to put "more structure" into the problem and identify the structural parameters $\beta$ with observational data.


  [1]: https://stats.stackexchange.com/questions/249767/which-theories-of-causality-should-i-know/299090#299090
  [2]: https://stats.stackexchange.com/questions/60430/correlation-regression-and-causal-modeling/302486#302486
  [3]: https://www.amazon.com/Causality-Reasoning-Inference-Judea-Pearl/dp/052189560X
  [4]: https://stats.stackexchange.com/questions/26300/does-causation-imply-correlation/301823#301823