Yeh I wasn’t fully sure how the duplicators handled data
It’s a pretty common misconception, but unfortunately adding more pins to the Pi isn’t that simple.
In regards to coding is it quite easy to switch between buses?
You don’t really need to switch between anything, there’s one line of code or so described in the guide I linked above to tell the Pi to treat the alternative I2C bus as the normal bus, and everything should work as normal from there. The one thing you might need to check is how the interrupt pin works, if you have one of the Hyperpixels with the 5-pin connector on the bottom (as in the store product page) then you should be able to use the interrupt function so that the expander will ping the Pi any time something changes instead of having to get the Pi to constantly check the buttons. It looks like the Pimoroni Expander breakout already has an example for a rotary encoder with interrupt capabilities, but I’m not sure which physical pin on the Pi this uses for the interrupt.