From the Microchip device overview.
The MCP23016 is not recommended for new designs. Please consider using the MCP23017 or MCP23018 instead.
I have used the MCP23017. It comes in a DIP package.
I used the wire library for I2C but my own code to setup, read and write to it. Here is an Adafruit library, though I have not used it so can't comment on its use.
The 23017 can be used as 2 8 bit registers, each with its own interrupt or as a single 16 bit register.