Hm, würde so spontan nen Paket PCFxxxx vorschlagen also I²C I/Os, wehren dann halt die beiden I²C pins + eine Interuptleitung z.b. wen du die taster dran nutzt dann brauchste nicht ständig auslesen, LEDs kannst auch dran nutzen das Display auch bis auf die Steuerleitungen.

Rest dann an den µC jedenfalls ist dass dan pinsparend und du kannst dann noch den I²C bus für Erweiterungen herausführen, und besser als die oben genannten Schieberegister.