AFAIK, there is no after market battery for the iPhone (at least one that won't void a warranty). Most of the troubleshooting I've seen regarding batteries involve one or both of the following:
1. Let your battery run down until the phone shuts off completely, and then charge via the USB port on your computer. (I'm guessing the charging via the computer port route is because it's more of a trickle charge rather than a more rapid charge that you get with the standalone charger.)
2. Restore your phone and set it up as new (don't restore from backup). This is a pain, but many people say this has worked for them.
Hopefully, the next (overdue) OS update will help battery life a little.