ATmega communication with I2C + extender or with ENC28J60 ethernet module?
If it doesn't need to be a high-speed link, RS485 or CAN would be your best bet. For RS485, transceivers are cheap and easily connected electrically, but need a bit of work on the protocol side to make reliable, while CAN transceivers are a bit more expensive but take over the bus arbitration work for you.

I'd get a CAN controller that can be connected to the ATmega via SPI. Make sure the /CS for the controller has a pull-up resistor (pull-down if it is active-high, but it won't be) so it is inactive while you program the ATmega, since this also uses the same pins.

Both of these use differential signalling to minimize the impact of interference, which is likely to be severe in a cable this long.

I'd use a four-stranded cable, with a supply voltage that is way too high (e.g. 12V) and individual switch-mode regulators on each unit to get the supply voltages required; that way, you minimize voltage drop over the cable and give yourself quite a bit of headroom so the device at the other end of the cable still gets enough voltage.