What is the best way to implement spi using 8085?
There is nothing wrong with bit banging the I/O pins on the 8255 or 82C55. I have done that with PIC MPU's. They should NOT be the same pins that normally perform RD/WR/CS/ALE or other handshake functions.

SPI only needs a few pins to operate, but do not expect 50 MHZ performance for a microSD card. Not from the 8255. You may have to insert a few nops to insure data is stable before you read or write, but as slow as the 8255 is you may not need to.

The 8255 would give you 24 I/O pins with little drive current, but enough to drive the 74HC299 PIPO shift register. Be sure to shift in or out 8 bits at a time. During each bit shift you need to clock the microSD or whatever memory you choose.

Consider using flash memory with a 8/16 bit parallel port, then the shift register is not needed. Normally a CPU has no pins to bit-bang, as RD/WR/CS and ALE are driven by internal sequencers.

I know of no minimum speed issues with SPI itself, but your target IC may have timing issues so be sure it has a 'static' mode where the clock can be frozen.

Look at this link:

https://en.wikipedia.org/wiki/Intel_8255

You can see that only port C can be bit-banged on a per bit basis. Ports A and B should be your data ports. You could use a 16 bit parallel port flash memory if you can find one.