Err ? what is noise cancellation .
Do you mean decoupling? Look here:-
http://www.thebox.myzen.co.uk/Tutorial/De-coupling.html
and
http://www.thebox.myzen.co.uk/Workshop/Motors_1.html
Figure out L298 interface
Four buffers with two inputs, signal and enable. Use two buffers per motor that gives two signal and one enable (it is common to two buffers). Then wire the motor across the two outputs. Enable on, Signals the same motor = off, signals different motor = on, signals different but swapped over motor = on but turning the other way. Speed PWM to enable.
Emulate SPI protocol for MCP42010 via three pins on the mcp23008 .. doable?
Yes if you must.