It seems you are asking how to determine individual cell voltages in a 3 cell pack when you have access to each end and the points between the cells.
This simplest answer is to use a microcontroller with A/D and do the subtraction digitally. I've done exactly that in a 8 cell stack once. The problem with this method is that resolution goes down for the cells higher up in the stack. However, what matters is whether the worst case is still within spec for your purposes. Our A/D was 12 bits and we only needed to know the cell voltages well enough for charge ballancing and discharge limiting. You should be able to easily do the same with your 3 cell stack.
Note that just measuring the voltage of each cell is only half the solution. For charge ballancing you also need to do something about it when some cells charge to a higher voltage, as will inevitably happen. If this is a one-off, then I'd probably go with the conceptually simplest method, which is to use a opto-isolator and resistor per cell. If this is for volume production where component cost matters, you can get more clever and use directly wired FETs to turn on the bleeder resistors for each cell.