A buddy of mine made a media server with bunch of drives (8 I believe) on a single controller. The trick he used is that he switches on and off individual drives through a small PCB he made that uses a relay for switching power. Data connections for a bunch of drives are merged together. The board is controlled through the parallel which theoretically enables him to do 64 drives I hink (2 control signals and 6 for which drive to apply the command to). Small PCB and seems to work nice.
So there is a strict setup routine which drives can be on/off managed on BSD through a perl script.
One drive is allways on and used as a buffer disk. A script finds the file you're looking for using an Index, starts the drive, copies the file to the buffer disk and powers-off the drive again.
Power-friendly solution as well ;-)