At least go for the PCF8575 which has 16 outputs and can handle 400 kHz I2C instead of just 100 kHz. Two advantages over the PCF8574.
Or better even the MCP23017. It has two interrupt lines (one for each group of 8 ports) and can handle much higher I2C speeds.
128 encoders need 16 MCP23017 chips (so you need two I2C buses for that), plus two for the interrupts (bringing it down to four - too many for an Arduino? No problem for the ESP8266) and another 8-port MCP23008 to reduce that to 1 interrupt.
In this case the ESP8266 may come in handy. Only 11 total I/O but you can use any two pins as I2C bus, allowing for total 5x I2C buses (controlling up to 40 MCP23017 chips) and one spare line to handle the incoming interrupts. It also has more speed than Arduino which will be helpful.
No matter what it's not going to be a simple project in any sense of the word.