SPI afaik is not good over bigger distances (> 1 meter). If you need many CS signals you always can use a multiplexer (like 74HC595N). I am not sure if it is 'normal' to have many SPI devices connected to one Arduino though.
Other solutions: I2C, better in longer distances, but I don't have much experience with them. I heard about I2C expanders (MCP23017) that maybe are useful.
Also RF might be a possibility, also depending on the distance and most important speed (and latency).
In case for the Mega, it has 4 UARTs so that could maybe be used to spread the load.