RS-485 might be a suitable electrical interface, but he still needs a protocol. ModBus RTU is common on rs-485 but probably far too complex if all you want to send is some relay open/close commands, maybe some status. Since it appears like you don't have to worry about being compatible with other bus protocols in the wild, and if your needs are really quite simple, I'd suggest a simple time-division multiplexing (TDM) scheme on a multi-drop RS-485 bus. There is only 1 master, all communications are initiated by the master, and the slave only reads and writes data during it's time slot. The time slot is easy to calculate based on the slave ID, all slaves first listen for the master to send a sync/heartbeat/command packet, which starts the slaves timing for when then can transmit data. Each slave that has data to send will only send it during it's time window. [ slaveID x length of slot ]. Commands to the slaves are always sent at the start of a cycle, initiated by the master. after all the slaves have sent data and the time has elapsed for a complete cycle, it starts again.
This kind of protocol can be low overhead, fast cycle times at high bit rates, and easy to implement on small memory micros.