First, let me comment on the timer circuit. This will work, as long as your batteries are all of relatively the same age and kept in the same conditions. In 6 months when you are still using this and your batteries are all 6 months older you will need to update the timer. Functional solution, but not the best one.
You can divide down the voltage for your input with a resistor network that has a high enough voltage not to affect your lifetime(you can use a network that does load, you just replace your batteries more often). There is one catch, you need to Load a battery to see a true value of it's life left. You will find the more loaded a battery is the more the discharge curve looks like a line. It will never be a line, there will still be clear phases, but you can dependably correlate a loaded batteries voltage with your life left.
If your PIC is on during the measurement you will probably get a decent measurement. Have the pic spend time measuring your battery and look at the resulting voltage curve until your device dies. If the curve stays relatively flat, and then suddenly drops and your batteries die then you will want to use a transistor and load resistor to increase current draw during battery measurements. There is a large amount of information on batteries on battery university. Often microcontrollers fail to pull enough current to get a curve that is sloped the entire way(I have seen this problem with ultra low power uC like MSP430). You will probably be fine with just your PIC running.
Research into AA battery chemistry has fielded some results. It does look like they show pretty flat discharge curves with low currents(<500 mA). This will mean that you will likely want a resistor discharge circuit coupled with a transistor to allow the voltage measurements to be more valuable.
Please forgive me if this was not clear enough. If you comment and questions or suggestions I will update it.
Just a random list, if you post your schematic it would probably be easier:
1.8V lithium Coin cells are very easy to find, but more likely your serial interface needs 3.3v? Unless your receiving end will deal with 1.8V.
Leakage current does generally go up as your voltage increases, so lower is better usually. Also consider the brown-out point for the system vs the battery characteristics. The 'death' characteristics of the battery will be determines by the battery chemistry you use. For instance if your uC browns out at 1.7V you may actually want to use a higher voltage battery as with some batteries the output voltage will lower slowly as the battery dies. You'd get more life out of a 3.3V battery as when it begins to die its output will slowly drop and you can operate all the way down to 1.8V. If you use a 1.8V battery your going to shut down fairly quickly as the battery dies. This all assumes your serial interface or other components can deal with a wide voltage range (I know the AVR can).
LED's use a lot of power, unless you use a very low power LED and are controlling its current draw it's probably drawing a lot more current than the AVR is. If its just there for debug, don't populate it for production or only have it blink once in a while or something to minimize its on time, and definitely control its current draw.
If you can, pick the polarity / rest state of your serial interface to draw as little power as possible, it's rest state should not be drawing power. If pull ups are required use the largest resistor possible to maintain signal integrity but minimize current usage. If power is a huge concern use a signally scheme that favor's bits that don't draw power. For instance if you have pull ups, using a protocol that results in lots of 1's in the signal will leave the serial interface in a state that isn't drawing as much power most of the time. Such optimizations are only worthwhile if your making heavy use of the serial bus. If its very lightly used just make sure its rest state isn't drawing power.
Generally speaking you can assume all instructions (reading GPIO, etc) require the same amount of power. Its not really true but the power difference is minimal.
Power usage is much more dependent on the number/type of peripherals you have powered on, and the amount of time the micro spends active vs sleeping. So the ADC uses more power, EEPROM writes use a fair amount of power. Specifically something like the EEPROM writes are usually done in fairly large 'chunks' so you should accumulate as much information as you can before doing the write to the EEPROM (if your even using it of course). For the ADC that micro supports doing the ADC read during 2 of its sleep states, as ADC conversion takes a relatively long time this is a good time to sleep.
You should probably just read the sections on power management, sleep states and minimizing power using in the microcontroller's data sheet: linky page 35 on. Keep the AVR in the deepest sleep state possible as long as possible. The only exception to this is that you have to consider the start up and shutdown time. Its not worth it to sleep for 10 cycles if waking back up takes 25, etc.
Do resistors use up battery life? Do capacitors? Do diodes?
They all do to some extent. Resistors dissipate the most in most applications:
P = V*I
P = V^2 / R or P = I^2 * R (where V is the voltage drop across the resistor)
Diode's have a (relatively) fixed voltage drop, so power dissipation is almost exclusively tied to current passing through the diode. For instance a diode with a 0.7V forward voltage drop, P = 0.7 * I if current is moving forward through the diode. This is a simplification of course and you should check out the operating mode based on the diode's I-V characteristics.
Capacitors theoretically shouldn't dissipate any power, but in reality they have a finite series resistance and non-zero leakage current which means they do dissipate some power, generally not something you should worry about with such low voltages though. That being said choosing capacitors with minimal leakage current and ESR is a power win.
As far as using them to smooth out battery draw, this doesn't really help for power usage, its more for filtering. Also battery chemistry comes into play here, some chemistries will be happier with a constant draw, some deal better with spiky current draws.
Best Answer
Self-discharge of a 9V alkaline with a 20% down shelf life of 5 years and 500mAh capacity is about 2uA, so I don't think that <2uA is any kind of a possible problem. There is no net charging taking place.
On the other hand, Schottky diodes can have very high leakage at high ambient temperature. The self discharge current will also go up with temperature but probably not as fast. So you may want to consider the characteristics at the maximum possible ambient temperature.
So much for logic, let's see what, if anything, the manufacturers recommend.
Eveready (Energizer) has the following blanket disclaimer in their manual (presumably to deal with abuse such as trying to actually recharge alkaline cells at high current, causing heat, evolution of gas, explosion etc.) :
However when you go into their "Design and Safety Considerations", we finally get a real, and sensible, number (emphasis added):
Even allowing for variation between types and manufacturers, it would seem that < 10uA is very, very safe. It's up to you to determine whether some sensible limit like that is respected.