Klar, nur nicht mit fertig erhältlichen Chips, sondern mit Microcontrollern, in denen Du einen I2C-Slave softwaremäßig implementierst. Allerdings wäre dann zu überlegen, ob man nicht vielleicht einen Controller für ein paar mehr LEDs nimmt, zB 5. Dann hätte man 15 Leitungen plus zwei für I2C plus zwei mal Versorgung -> macht also 19, genau die richtige Anzahl für einen 20-poligen uC wie zB den ATtiny26. Das Ganze dann 8 mal und natürlich für jeden der I2C-Slaves eine eigene Adresse.
Die fertig kaufbaren Portexpander haben idR zwar auch eine aus 8 möglichen Adressen (3 Adressleitungen), aber nicht die dann benötigten 15 Ausgänge. Ausserdem sind die teurer als ein ATtiny.
Eigentlich ist man auch nicht auf I2C festgenagelt, man kann auch einen asynchronen Bus nutzen und käme dann mit einer Leitung aus. Dazu könnte man sogar den in einigen Controllern bereits vorhandenen UART benutzen und müsste nur noch ein Protokoll wie Du es bereits vorgeschlagen hast definieren.
Multiplexen halte ich übrigens für weniger geeignet, da durch die Zusammenfassung der 3 Chip-Kathoden innerhalb der LED das Zeitverhältnis recht ungünstig wird. Trotzdem ist es denkbar und wird in größeren LED-Matrizen auch gemacht. Möglich wäre zB, die LEDs in einer 4x10-Matrix anzuordnen, wodurch man wg. RGB 10 Spalten und 12 Zeilen hätte, die Spalten wären dann die gemeinsamen Kathoden, die Zeilen die Anoden. Ist aber nicht ganz einfach zu realisieren, da man höhere Ströme und damit Treiber braucht.