Is it possible to use wire.h on an Arduino Uno to act as a slave for more than one address?
The quick answer is: No!
The ATmega328 2-Wire Serial Interface has a special register for the address match in slave mode. This only allows a single address to be matched.
22.5.4 Address Match Unit
The Address Match unit checks if received address bytes match the seven-bit address in the TWI Address
Register (TWAR). If the TWI General Call Recognition Enable (TWGCE)
bit in the TWAR is written to one, all incoming address bits will
also be compared against the General Call address. Upon an address
match, the Control Unit is informed, allowing correct action to be
taken. The TWI may or may not acknowledge its address, depending on
settings in the TWCR. The Address Match unit is able to compare
addresses even when the AVR MCU is in sleep mode, enabling the MCU to
wake up if addressed by a Master. Reference, pp. 213
On an ATtiny with USI it is actually possible to implement multiple address matching as this is controlled by software.
Last, a pure software approach could be used, i.e. implement the I2C protocol with external interrupt pin and fast pin access. See Amtel Application Note AVR154. The code for this app-note can be found on github. This could be modified to allow multiple slave addresses.