Will continuously polling I2C port expander damage it or reduce its life?
1) Whether I2C lines are fine with handling traffic continuously for extended period of time. My project will be running for months (if not years). Only downtime will be when mains go off but that won't happen for more than an hour or so in a month's time period.


no, that's not how conduction works. The I²C lines don't really care whether you use them or not.


  2) Since reading the state involves writing some data to some registers, will it wear off those registers causing an early failure of the port expander than it's expected lifetime.


These registers are very likely simply some kind of RAM, so you can rest assured this isn't critical. Think about it this way: Every instruction your CPU executes involves at least one register modification. You do a couple billions of these per second.

Semiconductors in general are relatively indifferent to frequent usage, unless they get too hot through that.

One exception is EEPROM (and in that class, specifically flash memory), which actually physically degrades through overly often writing/erasing cycles (read cycles aren't that critical). According to the block diagram, there's none of that in your chips..



A general advice: Such ICs are sold in the tens of thousands to commercial/industrial customers. If you're buying a "name brand" component, and it has some limitation on how many times it can be used, the datasheet will prominently mention that. Simply because the manufacturer can't afford its devices to die in the field unexpectedly, leaving the customer (who bought a couple thousand) grumpy. 

Your application doesn't seem overly harsh.



If I had to give you application development advice: if your IO expander isn't far away (which would warrant using I²C), you might be much easier and cheaper, and faster, when using a simply 74HC*** parallel-to-serial shift register, attached via SPI instead of I²C.