High voltage measurement with an Arduino
I though about using a voltage divider with the lower resistor having
  a bypass Zener to protect from over voltage, but that would require
  very large resistances (8~10 GOhms, and I'm mounting this on a PCB).


You certainly do not need GOhms. Note that the circuit you have specified uses a 47k resistor on the output. If you replace this with a voltage divider (say, 42k / 5.1k) you will get 3 - 6 volts with a 5k impedance. If this impedance is too high for your ADC, you can always buffer it with an opamp. Note that the 47k resistor shown will only dissipate ~ 170 mW at 90 volts, so it's not as if you'll save a whole lot of power by increasing its value.

And, just for future reference, zeners are not appropriate for microamp limiting. Typically their leakeage current is in this range.