Is using SPI communication for 3 meters length still tolerable?
I would expect problems if you try to use SPI directly- clock reflections as well as when you try to operate at higher speeds. 

You can use SPI with a minor modification though- insert some LVDS drivers and receivers and drive balanced twisted-pair lines differentially in each direction. Make sure they're properly terminated (see the data sheets and app notes for the LVDS chips for the details). You'll need double the wires and a ground reference. 

Maybe consider using an Ethernet cable that has 4 sets of twisted pairs (so you can devote a pair to ground and still have clock/MISO/MOSI pairs).