AFAIK you cannot use the SPI library function as a slave.
As a slave you cannot provide the clock, the master must do that by sending marker characters such as nulls.
No, the clock is independent of the data with SPI, it's a separate signal.
The way most people do it I think is to "sacrifice" the first byte. ie the first master SPI.transfer returns whatever crap was in the slave's output register (SPDR). You then have to do another one to get real data.
One problem with the AVR implementation of SPI is that there is no buffering, so even if you tie SS to a slave interrupt unless the master adds some delays the slave is not fast enough to put data in the SPDR before the master starts to shift it out.
I do have an example of a slave ISR that does this but I'll have to remove some junk that's specific to my application. If you want I can do this and post it.