It may sound silly, but I usually do a stretching routine followed by push-ups before I sit down at the piano. This gets my blood circulating, and push-ups do wonders for warming up my hands on cold days.
Practicing scales at whatever tempo is comfortable (when my hands are very cold, I start quite slowly) is also helpful for me. Others might disagree, but when I've done all 24, my fingers are usually quite ready to tackle anything.
Octave etudes (such as Moszkowski's Op. 72 No. 9, or anything else with just octaves) are good warm-up pieces for your fingers, as you don't actually need to use cold fingers to play.
If there's a hot water tap nearby, run hot water over your hands and your forearms. Immedaitely and FULLY dry your hands and arms afterwards, and you'll be quite warm. This doesn't always work, as hot water isn't always avaiable.
Wearing massive amounts of clothing always helps, too.
