Nobody plans to run out of battery power, which is why few people think to buy battery packs for themselves — and why they're a perfect gift. Honestly, it's bizarre these aren't standard kit: Some of the most popular smartphones won't even make it through a workday, much less a day on the road.
Branded battery packs are easy to find at any electronics retailer, but they tend to be both overpriced and undersized. There's also very little quality difference between, say, a Belkin battery pack and a generic brand; the devices are so simple that it's hard to go wrong until you get to the absolute cheapest models. The New Trent IMP120D iCarrier sits right at the sweet spot of price and capacity: It's a two-port, 12000mAh pack that carries about enough power to fully charge an iPad, three or four smartphones, or a bag full of USB accessories. It's $64 on Amazon right now, and it comes with a built-in flashlight.
For a stocking stuffer, go with the PowerGen Mobile Juice Pack. It's $30 at the moment and has about half the capacity of the New Trent pack, but it'll still charge a pair of smartphones without any trouble. It also doubles as a (tiny LED) flashlight, I guess, because why not?