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.
Yes, it returns the address that appears earliest in the blockchain if multiple addresses match the query.
The address must have been used in the blockchain in order to appear. You cannot use firstbits for a brand new address.