Designing a Battery Charger With a PIC
Depending on the chemistry of the battery you'll want to be very careful about overcharging.  Here is a page describing attributes of various batteries: http://www.batteryspace.com/batteryknowledge.aspx 

Down near the bottom is the overcharging tolerance information.  You have to be very careful with... well, everything except lead-acid batteries.  Deciding when to stop charging or how to moderate the charging rate is very important in battery chargers.  This page describes designing a PIC-based a NiCd/NiMH charger and discusses the important aspects of the charging method.  Quickly though:


There are a variety of methods to charge: quick, slow, trickle, etc.  Different strategies are required for each. Obviously faster charging methods get it charged faster but might cause excess heat, your battery to explode, etc.
Overheating is bad - you ideally would monitor it if you were attempting to do a very quick charge.
Overcharging is bad - you have to monitor the NiCd/NiMH voltage and watch for a slight (very slight) drop in voltage that tells you when it's done, or monitor change in temperature over change in voltage and cut off charging when it reaches a specific value.
Desired charged voltage varies depending on the number of cells in the battery, the chemistry, etc.  


There's a lot to keep track of and bad things can happen if you try to charge the battery the wrong way.  In general your schematic is good but it's the internals of the PIC that are going to be the important part here. Good luck.

Edit: Followup question: is that really a 5V NiMH battery?  If so, that's nominally 1.25V/cell and four cells = 5V.  Okay, good deal, but you'll want to charge the cells up to about 1.4-1.6V.  With four cells, that turns out to roughly 6V.  You can't measure 6V with the A/D of the PIC and it may be dangerous for the PIC to have those voltages on its pins- check the absolute maximum voltage rating of that pin.  It's usually VCC + something.  In any case, you'll need a voltage divider to read the full range of the battery so you know when it's done charging.

Bottom line: that circuit won't work unless I'm mistaken.  And I have been known to be.  Anyone confirm?