Из таких регистров еще есть I2C микрочиповские MCP23008 (1$) и MCP23016 (1,5$) Но, ИМХО, если ног хватает, то лучше контролер сам должен опрашивать либо по прерываниям на изменение состояния ножки либо по системному тику. Как менее затратно. Можно комбинировать эти варианты. Ежели же ног не хватает, то дешевле вместо 2-х регистров MCP23016 поставить одну 44-выводную Мегу, которая не только все опросит, но еще и проведет предварительную обработку.