Processing power for just reading those inputs is no problem, the question is: what does the Arduino have to do with the readings?
I'm sure it'll be the easiest to use a Mega instead of Uno + port expanders. Debounce can be done in hardware, just add a small capacitor (around 100 nF will do, value is not critical) parallel to the button. No need to burden the Arduino with that, even though it doesn't take much processing power.