Advice for an inter device sequential communication system
Shifting I2C enable bits through a chain of modules is a smart way of achieving your goal of individually addressing devices without pre-assigning different addresses to each module.
You could eliminate the register by using the microcontroller instead. It looks like you would need a device with a couple more pins on it though - for the enable and clock signals
At the expense of more software complication, you could reduce the clock and enable signals to a single signal, with special signalling. You could send a long pulse to indicate an enable=true and clock=rising-edge simultaneously and then a short pulse to indicate just a clock rising-edge with enable=low. This would require 1 signal in and 1 signal out to the next module. You would then implement the I2C enable/disable in software rather than using a hardware pin connected to the I2C peripheral.
You might just want to keep it simple though :) For your coursework, I think the approach you have is already a good one.