Controlling an engine dyno with Arduino Leonardo

Hi everyone! My name is John and I'm a student working for the formula racing team at Oregon State University. We have an engine dyno that's pretty outdated so I have been gutting all the electronics and am in the process of building a new system to control the throttle and load on the engine.

Right now I have an Arduino Leonardo that controls a stepper motor (for the load) and servo motor (for the throttle). The Leonardo gets a position for both motors over i2c from the Raspberry Pi. I want to expand the capabilities to include sensor feedback from the existing CAN bus.

This is where I am a little stuck. I have the SK Pang CAN-Bus Shield and was wondering if I could get a little help including it in my system. I think I can just connect the SPI pins, D2, and D10 on the Leonardo to the Shield and then collect/analyze the data. Is this a even possible? Does anyone have any experience using i2c and SPI on the same device?

I'm concerned that the Leonardo might get too bogged down controlling the motors, analyzing the sensor data, and listening to the Pi. Should I look into getting a separate Arduino to collect the sensor information and relay it to the Pi to analyse it?

CAN-BUS Shield:
http://skpang.co.uk/catalog/arduino-canbus-shield-with-usd-card-holder-p-706.html

Schematic:

I'm sorry if this is a little unclear, this is my first time posting on the forums.