Hi,
As you say SHIFTIN/SHIFTOUT are for when the PIC is the master, it's always the PIC that supplies the clock - it can't shift data out in sync with an external clock - which is what you need. So shiftin/shiftout won't work for doing SPI slave.

A PIC with a MSSP module can act as either a master or a slave. I believe there are some basic example programs, both for master and for slave (you obviously want slave) supplied with PBP.

What's the clock frequency of the SPI bus you're want to put this emulated memory on?

/Henrik.