RS485 shouldn't be much of a pain, really, and will likely be the cheapest and easiest in terms of wiring and programming. There are some wireless systems with mesh protocols that may be somewhat easier to program, but will definitely be more expensive. The standard limit for the number of devices on an RS485 bus is 32 as dfmischler mentioned, but there are 1/4 and 1/8 unit load transceivers available that would allow you to put up to 128 or 256 devices on one bus. The only tricky bit with programming for an RS485 interface is going to be avoiding collisions. The easiest way to avoid this is to ensure your system only ever requires one device to transmit. If you need two-way communication, you can use one pair of wires for master->slave communication and the other for slave->master communication, and as long as you have only one master device you just have to ensure that only one slave ever transmits at a time.
Since you mentioned AVRs, look into the multi-processor communication mode, which I believe is available on all the devices that have a hardware USART (possibly not on the ATTiny devices that have a USI). It's a hardware mode that uses the first stop bit to indicate if a character contains an address or data and prevents data from appearing in the receive buffer until the device has been addressed. It should substantially reduce the amount of data that each slave device has to process and simplify your firmware a bit.