Running 30 I2C devices on one network at high frequency - Is it possible ?

I have been looking into the various transfer protocols available that would best suit my application and came across Nick Gammon's post and was curious as I2C as a protocol could achieve the data transfer rate I am after, how could you talk to that many devices (30) on one network.

I need to communicate with these devices from a PC running MATLAB each device will be sent a 3-byte payload and expect a 6-byte payload at 2-4 kHz.

Would this even be achievable with I2C using a more direct master or would a different protocol like SPI be better suited?

Any Ideas?