This post gives you a cookbook recipe for building a VECM, including the step of determining the appropriate lag length according to information criteria. Actually, this particular step is not very elaborate in that post; fortunately, you can find it discussed more explicitly in the vignette (see especially p. 17-18) for the "vars" package in R. I will briefly add that use of BIC is generally fine for explanatory modelling, while AIC could be used if the model is intended for forecasting.
Are the lag lengths supposed to be independent in the VAR model for levels and the VECM model? No, just the opposite. There is a clear relationship which you will also find in the vignette mentioned above, which is that the lag order of the VECM should be one less than the order of the VAR model for levels. See also Lutkepohl "New Introduction to Multiple Time Series Analysis" and perhaps Pfaff "Analysis of Integrated and Cointegrated Time Series with R".
Finally, the error correction term is included in each equation of the VECM only once. It is either lagged by one or by $p$ where $p$ is the lag order of the VECM; the corresponding representations of the VECM are known as long-run and transitory; it is still the same model, just different representations -- pick the one you like. (I think it is possible to have the error correction term lagged by any $m$ between 1 and $p$, but this is not common practice unless $m$ equals 1 or $p$.) Meanwhile, you should not have the error correction term in multiple lags as you will face the problem of perfect multicollinearity.