My matrix is just an 8*8. I just want to build a board that will allow me to connect the power, ground, and the I2C wires to make the matrix work. I might just be overthinking this.
I don't think you are "overthinking" this.
I will assume you already have a micro-controller, such as an Arduino Uno R3, that will support the I2S serial protocol in hardware, with appropriate software to serialize the data representing a row (or column, depending on wiring) of eight LEDs. Your software will need to provide eight addresses in the serial data header to select one of eight MCP23008 devices, one for each row (or column) of eight LEDs. The MCP23008 hard-codes the four most significant address bits as 0100 allowing you to hardwire-select the three least significant bits: A2, A1, and A0. Thus the address range is 0x20 to 0x27 (hexadecimal) for a total of eight devices.
I would recommend, when laying out the PCB, that the address bits for each MCP23008 be committed to "0" (GND) or "1" (Vcc) by means of PCB traces. This avoids the problem of mounting eight 3-bit slide switches near the address pins on the PCB to select the address of each device. This address will never change and slide switches are notoriously unreliable IMO.
You should either commit an inverter with a grounded input to provide logic "1" level to those address pins that require logic "1", or use individual pull-up resistors from the address pins to Vcc to avoid noise problems on the address lines. Your call whether to use pull-ups or the output of an inverter. If you run parallel traces of GND and Vcc near the address pins, you have the choice of whether to install a pull-up resistor to Vcc or a jumper to GND for each address bit at each device.
Any way you look at it, you need 64 latched outputs to drive your 8x8 LED matrix. Even if you decided to use eight 8-bit latches on your PCB, you would still need three more bits to individually address each of these 8-bit latches, and some logic to decode the 3-bit address associated with each latch. So you would end up using eleven digital I/O pins on the micro-controller, eight for data and three to address eight latches. Meh! This could have some advantage when writing the software to address each LED, but not much. Software already exists for converting byte data to I2S serial data, so why not use it? Eight MCP23008 devices offers an elegant solution using just two wires and some software, plus a considerable savings in PCB real estate and component count.
IMO you have made an excellent choice for your application. Please post some pictures (and perhaps some source code) when you get it working!