Use a voltage divider on the battery voltage (1:4), and measure it directly. The divider can be really high value (1MOhm or so, which means it draws less current than the buck/boost converter). You cannot measure voltages higher than Vdda (it will destroy the PSoC).
If you really care about the current, switch the lower resistors with a FET.
Thanks - that was my first approach (the direct approach). However, I was worried that the minimum current needed to the might be too high (1 mA or more). I'd like the divider's total resistance to be at least around 1mOhm, to keep the current in single digit uA or less.
I had thought the SARADC requirement was 1mA - but I'm now not sure where I saw that. In addition, I suspect I can add a non-inverting buffer inside the PSoC so the current requirement at the pin would be minimal. But I'm not sure...
The place where I saw the 1 mA was in the SAR ADC datasheet:
Specifically, it's the A_ISAR parameter (current consumption) which is listed as max 1 mA. I suspect (hope) this can be drastically reduced with a non-inverting buffer.
Current consumption != input current. It doesn't matter how much current the ADC is drawing from Vdd, this will not cause the voltage divider to give wrong readings. Unfortunately the input resistance, which is important here, is not better. So you need an additional OpAmp as buffer.