SPI master & slave simultaneously

Yes, this is possible, I have just created something like that.

Use the hardware SPI pins (10,11,12,13) to put the atmega328 in spi slave mode

I use software SPI on another set of pins to interface with an SD card and a Nokia 5110 display

For using arduino in slave mode I recommend reading

by Nick Gammon (thanks Nick, your code helped a lot). For using software SPI you can use shiftOut

http://arduino.cc/en/tutorial/ShiftOut

If you want to speed things up, look into fastDigitalWrite and fastDigitalRead, and how to build software SPI functions with it. You can find all code in the standard SD card library of the latest arduino build,

/libraries/SD/utility/Sd2Card.cpp
/libraries/SD/utility/Sd2PinMap.cpp

Cheers,

Jack