Alternatives to SPI because of EMI
2 MHz SPI over 5 cm cables is not huge.  I do 30 MHz SPI over 10 cm cables a lot, passing FCC Class B and the CE equivalent.  The key is to make sure that you have a good cable (controlling as best you can for loop area), and properly terminating your signals.

You control for loop area by putting the power/GND signals somewhere in the middle of the cable:  Both middle of the connector, but in the middle of the bundle of wires as well.  Normally you'd have a power or GND per signal, but since that is rarely a practical solution you have to do the best with what you have.  Also, make sure to put one or two decoupling caps  on the PCBs at both ends of the cable.

Properly terminating the signals is going to be a little tricky since you don't have a controlled impedance on your cable.  What I would do is to put an RC filter on the PCB at both ends of the cable.  The RC filter would have the C on the cable side and the R on the chip side.  At the signal driver, I would start with an R of about 75 ohms and a C of about 1 nF.  At the receiver, the R would be about 10 ohms and C still 1 nF.  Once you have the prototypes built then you should try different values.  Essentially you want higher values for R and C, but not so high that the thing stops working or the signal levels are too attenuated.  The edges of your signals should look very rounded off, but there should be no ringing and the clocks should be nice while in the signal transition band (usually 0.8 to 2.0 volts).  

A cap value of at least 3 nF is ideal for ESD protection, but that might not be an issue in your application.