Increasing the resistance to giga-ohm will cause so a lot inaccuracy (noise, leak currents), so that you can't tell what value the capacitor is.
The normal way is to pass a frequency through the capacitor, and measure how much of the signal is left.
To select a range for lower values, the frequency is increased.
A simple analog circuit could be accurate to 20pF.
I think the only way to test picoFarads is to use a high frequency.
A timer output should be high enough for picoFarads.
But you need a circuit to detect how much is passed through the capacitor.
This is an example : http://www.hqew.net/circuit-diagram/Capacitance-Meter_2768.html
The Arduino could automatically select the range, by setting the timer output frequency.
I was not able to find an example schematic of such circuit for an Arduino.
Search for LC-meter.
For example this one : http://www.kerrywong.com/2010/10/16/avr-lc-meter-with-frequency-measurement/