So you can do many things, the dealer is raping you.
A new replacement diamond keyfob should be around $175 last I checked. A Valet key should be around $50, BUT it will not get you in the trunk or glovebox.
You could be cheap, buy a Valet key, then get a cheap Amazon aftermarket keyfob and have it cut off the Valet key, then you could program the keyfob to open the doors and the keyfob would open the trunk and glovebox, BUT it will not start the engine.
You could see if there are locksmiths in your area that can program keys, but the problem is they have nothing to copy, so you probably need at least a Valet key anyway.
You can shop around other dealers for pricing or see if they will price match. I think the reason some of the keyfobs are so expensive is they include Service Labor to sync the keyfob to the car which you can do in minutes with no tools or software.
See this thread, you can order a new keyfob from these guys for around $175 on your doorstep unless there has been a major price hike. See toward the end of the thread, BMWMiniPartStore.com as I recall.
http://forum.e46fanatics.com/showthread.php?t=1008294