How do I use the Arduino Mega as a 16-bit SPI slave?
You might need to check the Arduino Mega/ATmega2560 product description and SPI slave mode.


  In SPI Slave mode, the control logic will sample the incoming signal
  of the SCK pin. To ensure correct sampling of the clock signal, the
  minimum low and high periods should be: Low period: longer than 2 CPU
  clock cycles. High period: longer than 2 CPU clock cycles.


This implies the maximum SCK in slave mode. 16 MHz SCK would be too fast for an Arduino Mega (at 16 MHz). 

Also there is a significant latency to the ISR. To achieve higher slave mode clock frequency:


Time between slave mode chip select and clock must be stretched to compensate for the ISR latency. 
The ISR will need to busy wait for all data (as the Arduino SPI transfer() is implemented).


Cheers!