really cool idea. I am assuming firstbits returns the earliest known address if there are several others that match the search. this way u avoid collisions with new addresses as they are added to the chain.
actually now that i think about it, what happens with addresses not in the block chain? for example, if a businesses had to generate a new address for every transaction and used your service. unless you are saving every search address, its possible u would return the same firstbit address for different bitcoin addresses.