Controlling the power of i2c bus

thank you for the advice .

raschemmel:
And , High side switching is always done with P-channels and Low side switching is done with N-channels.
Look at any H-bridge motor driver schematic.

N-channel MOSFETs are often used for both high and low side switching, i.e. in H-bridge motor drivers or buck converters. Typically a charge pump is used to generate the voltage to turn on the high side MOSFET but for some reason it is worth the effort.

@OP - if you want to remove power from the Arduino completely you must carefully consider at what potential it will be. You should not leave the port expander I2C pins floating but you need to ensure they are both at Arduino's potential. Otherwise Arduino will be powered via the I2C pins, consuming power and maybe doing another nasty things (brownout, damaged pins, ...).
If you use high side switching (disconnecting 5V, keeping GND connected) the pins will be at GND - I think bad things may happen during the transition from 5V to GND if it is not controlled. Such as generating unintended START condition. From this point of view it may be easier using low side switching - disconnecting Arduino's ground. Or use the I2C level shifter module.

Smajdalf:
Typically a charge pump is used to generate the voltage to turn on the high side MOSFET but for some reason it is worth the effort.

On resistance of an n-mos is roughly half that of a similar sized p-mos (as in physical silicon size), that has to do with physics and how the things work. So especially with high current devices it's cheaper to use an n-mos plus charge pump (you don't need much current to operate that part of the circuit) as lower on resistance becomes increasingly important to limit losses and heat production. The overall circuit is of course a bit more complex.

I should point out that the OP's original idea did not include removing power from the arduino and
therefore would not have resulted in back-powering (through the internal protection diodes) the arduino
so this scenario didn't appear until the someone suggested using the mosfet to remove power all together.

And , High side switching is always usually done with P-channels and Low side switching is usually done with N-channels.
Look at any H-bridge motor driver schematic.

i get it now . my idea was just a waste of space and money . it is better to leave the bus idle.