It will all fit, but the 2.0 uses what is basically 316i Compact running gear - driveshafts, small case diff and the Getrag 250G gearbox. But unless you drive like a loon you're unlikely to break anything.
Use a 2.8 twin vanos (TU) engine - they are a better engine, more readily available plus cheaper - and they both use Siemens MS42 ECU's. You can find a 2.8 ECU on its own and get the EWS removed so it just plugs in.You can use a 2.8 from an E46 328i, E39 528i or E38 728i, the last two requiring the Z3 sump to be fitted. All three will need the Z3 engine wiring loom fitting, a couple of hours work if that.
If you can't find a decent 2.8 TU, the 2.5 M52TU or M54 is a good alternative. The M52TU and M54 are near enough identical and you can use your 2.0 loom, manifolds and ancillaries on one.