MCP23017 INT Pin always high - INT cannot be cleared
Have you setup the IOCON register (address 0x05)?
The default is that the interrupt output is active low - INT being high means it is already cleared.
MCP23017 daatsheet