The controller users a "Servo" pinout for its I/O pins. Each column has ground on the top, +5V in the middle, and an I/O pin at the bottom. The silkscreen on the board indicates which row of pins is ground, which row is +5V, and where each I/O pin is.
Grove I2C boards should work with Modulo! However, I haven't had a chance to really test that and make sure they aren't any issues. Modulo uses a +5V power supply, but the I2C lines have pullup resistors and clamping diodes to 3.3V. That probably works with most other devices but it may not work with all of them.
As you pointed out, there is a risk that Modulo I2C address assignment could conflict with the fixed addresses of other I2C devices. My plan for that is allow the user to specify a set of reserved addresses in their code. Modulo would then skip those when assigning addresses. That's not implemented yet, but it's on my list of tasks for the near future.