I have a bunch of CR18650 cells laying around and want to build a shield/Battery backpack with a 5 Volt boost converter and was thinking: Could I not, in theory, use the arduino itself as a charge controller by tying the battery positive to an ADC pin, checking it every minute or so and stop charging when it reads 860? (860 = 4.19 volts, 18650s are 4.2V nominal)
You could use any u-controller with ADC inputs for a battery charge controller.
But not just by monitoring the voltage. You must maintain the correct charge profile to properly change a battery.
Li batteries require a trickle if the voltage is too low, then a constant current until the voltage reaches a set point then a constant voltage until the current drop to a set point. So in addition to measuring both the battery voltage and current there needs to be circuits that supply the constant current and constant voltage. And the battery temperature should be monitored to prevent thermal run-away that can cause the battery to catch fire.
Google this and also go to the web sites of battery and charger chip makers then read their data sheets and app notes.
The easiest way is to just buy the proper charge controller chip.