SPI is, by nature, a "shareable", or stackable connection. You can stack shields on the ICSP header.
The problem is that very few (if any) shields come with stackaber headers on the ICSP / SPI pins.
I solved this problem by chaging the pins in the header for extended pins, making the header stackable.
Here's what I talking about (the upper shield is the USB host shield):
More images here: http://arduino.cc/forum/index.php/topic,126197.0.html
