PID Control implementation for charging battery really necessary?
You said yourself that depending on what part of the charging process you are in, you keep the current constant or try to maintain that voltage.  That's going to require some kind of controller, though not necessarily PID or some subset thereof.

The characteristics of a charging battery change very slowly relative to what even a slow microcontroller can measure and react to.  Batteries also don't exhibit second order effects like inertia, like motor speed as a function of current does.  Both these together allow very simple control schemes to work well.

Probably about the simplest control scheme for a switching power supply is pulse on demand.  It is always stable and robust, although results in more ripple than a more finely tuned control scheme can accomplish.

When the output is below the regulation threshold, you do a pulse, else you don't.  To avoid inductor saturation, you may always not do a pulse at the next slot immediately after a previos one, but that's a detail.

I've done pulse on demand switching power supplies with the PIC 10F204 a bunch of times.  The code spins in a loop checking the comparator output as long as it is indicating the output is above the regulation threshold.  When the output falls below the threshold, the code following the loop is executed, which produces a pulse.  The instruction cycles to jump back to the top of the loop and do the next comparator check usually take enough time so that it's OK to do the next pulse righ away if the comparator indicates the output is still below the threshold.

Sometimes this can go meta-stable by producing two pulses in a row before the feedback catches up to the output having gone higher, but in all cases it remains stable as long as the maximum load isn't exceeded.

This sort of system is fine for battery charging, except that you have two thresholds, one for voltage and one for current.  You only do a pulse if the output is below both.  The higher level logic can adjust the limits as the battery progresses thru the charging procedure.