For what it's worth, I've never seen that behavior on my iPhone, its charge behavior and charge indicator behavior is steady and consistent.

Although this won't solve the strange 100 percent indicator problem, I have a few tips about saving battery on the thing:

One thing I do is to set the email grab frequency to its largest setting which I think is an hour or more. I.e., I don't rely on push or on frequent updates, if I want to know if I have email I just open the email app.

Another thing that might be useful is to clear out as many Wifi Hotspot names out of your phone as possible. The thing can use a ton of battery trying to get and maintain a wifi connection. If you join to a lot of wifi hotspots named "linksys" or "wireless", then as you roam around it's constantly connecting and disconnecting to common hotspot names.
_________________________
Tony Fabris