There has been some discussion on the forum on I2C port extenders for the EZ-B so I thought it may be relevant to show what we are doing with this on the EZ;1 and EZ:2 robots.
The EZ-B is an I2C master so the external (18 pin) micro must be a slave (although it is possible to have more than one master on an I2C bus), in the video the EZ-B script sending the I2C commands can be seen running in the background.
The EZ:1 currently has 25 head functions, the single head micro does all the work (releasing the EZ-B to do other things) like controlling the eye servos, RGB LED pupils, PWM eye rims, smile LEDs, Frown LEDs, ear LED rims and also sends head sensor data back to the EZ-B. When in debug mode the micro also sends out the last command to an I2C LCD that's connected to the bus as you can see in the video. If the head was directly connected to the EZ-B it would use 12 EZ-B port lines.