I've been thinking about the SD card <> PIC interface and a 5v tolerant CPLD (the Altera MAX 3000A is my preference) is by far the easiest and cheapest way of doing it. I believe the spectrum emulator would be the same solution, it would all fit in one CPLD.
You may even be able to fit a spectrum emulator into the CPLD with the PIC interface, as I dont believe it's very complicated!
If you want to use a CPLD maybe it should be considered to implement a general SPI interface in CPLD without the help of an MCU at all. Well it sounds odd, but somehow I always feel it's a bit cheating like action to connect an MCU to a 8 bit machine having more powerless CPU than the MCU itself ... The only disadvantage of this is the fact that you have to implement SD card init sequence and handling by Z80 code itself, directly. But it's a more "the EP is the boss" feeling then
By the way, for 65xx bus system there is an existing "product" for creating an SPI interface "chip" with the help of CPLD with a Xilinx part (xc9572), the name of the project is 65SPI. Similar solution can be created for the EP bus too. Of course, if you have spare gates available, you can implement extra stuffs as well, like logic of a Spectrum emulator, etc