Multiple Buttons on one pin
The usual solution for keys is to drive each column of keys high and scan the rows whilst the column is high, so you only need 6 pins, 3 to drive columns high one after the other and three pins to see which rows (if any) have a closed key.


8 pins used for 16 keys



For driving LEDS you can use a multiplexer