> 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][1]

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][2]. The code for this app-note can be found on [github][3]. [This][4] could be modified to allow multiple slave address. 

Cheers!


  [1]: http://www.atmel.com/images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Complete.pdf
  [2]: http://www.atmel.com/Images/doc8478.pdf
  [3]: https://github.com/AinonLynx/twi-slave-software-emulation
  [4]: https://github.com/AinonLynx/twi-slave-software-emulation/blob/master/TWI.c#L147