Value of pull-up/down resistors

I've been using 10K resistors as pull up/downs in 5V circuits a lot, without questioning why I was using this value?

Wasting 0.5mA in each case sounds like a lot for some battery powered circuits. So, what is the maximum value for a resistor I can use?
I've read somewhere that the internal resistors the Atmega has are 20Ks, right?
Regards

The lower the value of resistor you use the better it is for noise immunity. It is a compromise between current usage and resistance to noise.

Wasting 0.5mA in each case sounds like a lot for some battery powered circuits.

It is not. Epically compared to the current the processor takes.

I've read somewhere that the internal resistors the Atmega has are 20Ks, right?

The data sheet says it is between 20 and 50K.

For just a single input connected to a signal the value of the pull-up resistor really doesn't matter that much. Yes, the bigger the resistor the lower the current consumption when the input is connected to ground (low).

The value does become more critical when you have multiple inputs connected to the same signal.

An input, while it is "high impedance", doesn't have an infinite impedance (open circuit), and will provide a path to ground. The more inputs you have connected to the signal, the more current will flow when idle. The more current that flows, the bigger the voltage drop across the resistor. If the voltage drop causes the input to drop below the "high" threshold for the inputs, then suddenly the input doesn't work right.

This is especially critical on bus systems where you could have many many inputs listening on a line, and one switching to open-drain output to signal on that line (think I²C for example).

Thanks for the answers. I have a better understanding of the problem now.
Regards

pgmartin:
Wasting 0.5mA in each case sounds like a lot for some battery powered circuits.

Keep in mind the current is only being "wasted" when the resistor is active. While "idle" almost no current is flowing.