I'll be staying in Berlin for one month and I have an unlocked iPhone (GSM) that I'd like to use while I'm here. What are my choices for SIM cards and packages that include data?
This wiki is a very good source of info: http://www.prepaid-wiki.de/
Many companies offer prepaid SIM cards. blau.de is a good option. I use a NettoKom SIM card, which is a re-branded blau card that is sold for 5€ in Netto grocery stores; other discount grocery stores (Lidl, ALDI, etc) have their own offerings. A one-month data plan will cost 10-15€.
I just saw an ad for what appears to be an amazing deal from Telekom (the largest operator) that seems to include unlimited use of the Telekom network for only 10€ per month: Xtra pre-paid card
The answer from @nibot is very good, i just want to add something: You said that you have iPhone, so you need micro-sim and not every operator sells prepaid-micro-sim-cards. So i find that page: http://www.der-prepaid-vergleich.de/Micro-sim/micro-sim-prepaid-tarife.html
I've had a good experience with Fonic.
As of the time I'm writing this, they offer a 500MB data plan for 10 euro a month.
They also have a very convenient website (though it is in German, it's usable through Google translate), which allows you to perform almost all the actions you might need.
Also, they have a customer service number which (usually after only a short wait) gets you straight to an English-speaking human. This is a big plus for non-German speakers who can't get through the automated voice menu in German.
Fonic don't have their own stores, but you can get their SIM cards in partner stores that you can find here.
The best network in Germany is the one from T-Mobile. For tourists it is best to use an call-abroad-oriented service like Lebara that uses the T-Mobile network. They have great bundles, e.g. 3 GB data for one month, or 1 GB and 1000 free minutes to cell phones and fixed lines in 39 countries. Another good option for mobile data would be the 3GB card from Beachsim.
One can either buy such German pay-as-you-go SIM card in a kiosk, gas / petrol station, or buy it online prior to you stay in Germany. That is what I did and it worked great for me. You can buy for instance the 3 GB German data SIM card from Beachsim here.
Hope this helps for your Berlin trip. Enjoy!