Wie ich die Sache sehe willst Du also mehrere Eingänge mit wenigen Prozessorleitungen auslesen?
Wenn das so ist könntest Du beispielsweise den 74 166 nehmen.

Das ist ein Schieberegister welches auf ein Signal hin alle 8 Eingänge speichert. Diese kannst du dann seriell mit dem Microcontroller auslesen.
Dazu benötigst Du 3 Leitungen.
Du kannst auch mehrere hintereinander kaskadieren und hast prinzipiell beliebig viele Eingänge mit 3 Steuerleitungen. Allerdings dauert das serielle auslesen dann dementsprechend länger.

Babbage