How can I isolate an ATTiny from an I2C slave so ICSP will work?
When programming the chip over the ISP, just make sure you only update the MOSI line while SCK is LOW. 

Any valid i2c message must begin with a start condition of a rising edge on the data line while clock line is high. 


https://i2c.info/i2c-bus-specification

The i2c slave state machine on the LED driver will never see a start and therefore should ignore all of the ISP programming operations happening on those pins.

So for this to work, you need the programmer that is driving the ISP MOSI and SCK lines to obey this "no i2c start" rule. My guess is that programmers do this naturally since it doesn't make sense to change the MOSI line while the SLK line is high in the AVR serial programming protocol since the chip could be sampling the data value during that time. But easy enough to confirm empirically!

For example, the ArduinoISP sketch (which is a software ISP programmer) only changes the MOSI line when the SCK line is low...

    uint8_t transfer (uint8_t b) {
      for (unsigned int i = 0; i &lt; 8; ++i) {
        digitalWrite(PIN_MOSI, (b &amp; 0x80) ? HIGH : LOW);
        digitalWrite(PIN_SCK, HIGH);
        delayMicroseconds(pulseWidth);
        b = (b &lt;&lt; 1) | digitalRead(PIN_MISO);
        digitalWrite(PIN_SCK, LOW); // slow pulse
        delayMicroseconds(pulseWidth);
      }
      return b;
    }


https://github.com/arduino/Arduino/blob/master/build/shared/examples/11.ArduinoISP/ArduinoISP/ArduinoISP.ino#L201

My guess is that it is no accident that this happens to work. The serial programming protocol was likely intended to be compatible with i2c slaves that happen to be hanging off these same pins.