When doing a two-step ECM regression, do we add an intercept in the 2nd stage regression? I've seen course notes that add an intercept in the ECM, but some do not, so I'm confused if I should include it or not.
It is true that for the theoretical derivation of the ECM, the intercept is zero. However, when estimating it, one normally does include an intercept.
In general: leaving out the intercept is almost never a good idea. See also this question
First, if the true intercept is zero, then the estimated coefficient should be close to zero, so whether or not one includes an intercept should not change the estimates too much. If your estimate of the intercept is too large (in magnitude) this may point to the fact that your model is wrong.
The inclusion of an intercept, however is important for various test statistics, like the $R^2$ which is, in general, not valid if the intercept is dropped from the specification. Also, as said by @1muflon1 if you run a regression without an intercept, the mean residual will usually be different from zero, which is highly undesirable.
That depends on the details of your particular case. In some cases no intercept can be appropriate in most it would be a mistake.
Excluding intercept forces the regression to pass through the origin, that might be appropriate if you are testing some theoretical model which tells you that the mean of the series should be zero, otherwise if you force regression to pass through the origin your errors will not be centered at zero.