Unless buttons are going to be held for an extended period of time, the amount of current required to read analog-coded or digital button inputs is unlikely to be a significant factor in overall energy usage. There are, however, some advantages and disadvantages to each approach:
-1- Many processors can sleep until a digital input switches. While such techniques may be usable with some wiring methods for analog-coded buttons, using such techniques with analog buttons will often add some complexity.
-2- When using analog buttons, great care must be taken to prevent button pushes from being misread. Pushing and releasing buttons at just the right time may cause the input to be sampled at an incorrect value, and--depending upon switch design--lightly pushing a button may cause it to connect with significant resistance. For example, pushing the button tied to a 2.2K resistor in such a way that the button has 1K of resistance may cause it to be misidentified as the button connected to the 3.3K resistor.
-3- It may be possible to connect a group of analog buttons with fewer wires than a group of digital buttons.
The approach I would recommend for analog buttons would be to have a resistor string connect between a digital I/O ports and ground, and have the buttons connect various spots on that string to an analog input which has a very large pull-up resistor and digital-wake-up functionality. When the unit is idle, the digital I/O ports should be set low, and the code should wait for the input to go low. Pushing any button will cause the input voltage to drop to nearly zero volts. At that time, drive the digital I/O port high and read the analog voltage a few times until it seems to be stable. The voltage read will be nearly independent of switch resistance, but the amount of power consumed by the circuit while it's idle will be essentially nil.
If you have four tri-statable I/O pins, two of them have ADC's which can read N distinct levels, and one (may or may not be an ADC one) has a wakeup-on-change ability, it's possible to use those to read NxN switch matrix using 2N+3 resistors and zero quiescent current. Pair up the I/O pins, including one ADC in each pair. Connect strings of N+1 resistors between the pins of each pair, and attach a weak pull-up to the non-ADC end of the string which has the wakeup-on-change feature. Connect the rows and columns of the switch matrix between the middle N spots on the two resistor strings.
When idle, drive the non-wakeup-on-change pins low, and let the wakeup-on-change side float. Until a button is pushed, both pins on the wakeup-on-change side will be high. Assuming the pullup is large enough, pushing any button will drive them both low.
To see what button is pushed, drive one pin on the 'row' side of the matrix high and the other low, while the 'column' pins float. Then read the voltage on one of the column pins wait a little while if necessary for it to stabilize (if it doesn't stabilize pretty quickly, regard the apparent button press as spurious). Then float the 'row' pins, drive the 'column' pins, and read the voltage on one of the 'row' pins (again making sure it's stable). Drive the rows and read the columns at least once more, and if the value matches the previous one, register a key-press.
Note that this approach doesn't allow for any useful two-key or multi-key combinations, but offers the distinct advantage of allowing nearly any size of keyboard to be handled using only four wires and one wakeup-on-change pin. As with the earlier suggestion, button resistance, within reason, will be a non-factor.