Ich hoffe man kann hieraus erkennen worin mein Problem besteht.
Nicht wirklich? Hast du ein Problem mit den Tastern oder der Datenübertragung? Das sind zwei völlig verschiedene Sachen
Für die LEDs musst du einfach den aktuellen Zustand abspeichern
I2C bidirektional ist nicht ganz trivial. Vom Master kannst du beliebig zum Slave zu senden. Aber die andere Richtung muss der Master abfragen was los ist. Oder du spendierst eine weitere Datenleitung die auf dem Master einen Interrupt auslöst