Programming Multiple ICs using single USBasp/SPI Bus and Arduino IDE
Disclaimer:  I haven't done this with Arduino or Atmega.  But I've done this with PICs.  

Synopsis: Connect the SPI lines in parallel, treat RESET_n lines separately. 
As you wrote, your new schematic will have 5x Atmegas.  Add to your schematic 5x shorting blocks (jumper selectors).  Each selector has 3 pins.


Pin1 goes connected to RESET_n line from the programmer.  ( _n at the end means that the line is active-low.  There are a few common notations for "active low", this is just one of them.)
Pin2 goes to RESET_X_n, where X is an individual controller.  RESET_X_n line would have a pullup resistor like a normal reset line.
Pin3 goes to GND.


Suppose, you want to program controller_1.  Connect RESET_1_n to programmer through its selector.  Connect all other reset lines to GND.  This will put all other Atmegas into reset, they will float the pins, which got to SPI lines, and not interfere with programming of controller_1 [edit: be sure to read Yann Vernier's comment below and his answer in this thread].  Remove all shorting blocks to run your system.

UPDATE in response to Matthew's comment 


  "simply plug in the USB programmer and then send code [to multiple controllers]"


If you can get a controller with JTAG interface, what you're asking for would be easy.  JTAG is the only "magic bullet" for your problem that I know of.  (The other approaches are more complicated, although this is a fun systems engineering problem to toss around in ones head.)

At the same time, you trust user with reprogramming to begin with.  Consider trusting her with selectors too.