I have no experience buying a fob. However, my understanding is that only BMW USA, not any dealer, can program a new fob to an i3's VIN. Apparently, there are a limited number of fobs (12?) that could be programmed to each VIN, but that number seemed more than sufficient. There's apparently no need to pay a dealer to pair a fob with an i3 because any owner could do it.
The best fob price is typically from an on-line dealer who would send the programmed fob directly to the fob buyer after verifying that the buyer is the actual i3 owner. Search the Internet for fob sellers but ignore eBay or any other sellers of used fobs.