Use modified USART for a one-wire bus, one master and 400 slaves on a 400 m wire?
The input impedance on the RX pins of all the receivers is very high, so that should not be a limiting factor. 

If you run the system slow enough, then the capacitance of and reflections on the line should not be a limiting factor. 

If the wire has low enough resistance, then the voltage drop from end to end should not be a limiting factor. 

It think the limiting factor will be noise on the very long wires. This is dependent on the type of cable, the layout of the wires, and what kind of electrical noise they are subject to in the environment. 

A good first test might be to run a test line approximately how you plan on running the real system and hang transceivers on each end and see if they can talk to each other.  Putting a scope on each end of the line while testing will be very helpful. 

If you don't have a scope, even a multi-meter would be helpful. Transmit an alternating 1/0 bit-stream at one end of the bus and then look at the voltage at the other end. If it is changing from 0 to >2.5 volts at 1 Hz, then you will likely be able to get your signal though to the receivers. 

Use the best cable you can. A twisted pair inside a CAT5 cable would be a good start. 

It might help to also put a terminating resistor between the bus and ground on each end. Maybe try 100 ohms. Again, a lot depends on the cable you are using. 

All that said, what you really want is a RS422/485 style current loop. While there are many excellent chips that do all the work for you, you can also do it yourself using discrete components. It is not too much more work than the push/pull you already have.