There seems to be a convention amongst manufacturers so far that dissimilar products use different addresses. But yes, there are only 119 available (1 to 119). Two devices cannot share the same address on one bus. You might have to use a I2C multiplexor or something like that if you had two that did.
I don't know about SPI being "a lot" faster. If you increase I2C to the maximum you get about 40,000 bytes per second, but with SPI you can get around 333,000 bytes per second. So yes, about 8 times as fast.
But with SPI you have to have a slave select line for each one, so you will run of of slave select lines faster than you will run out of I2C addresses.