Garmin Edge 500 has fantastic battery life, mine does as I can get a hours on end without having to charge. Up to 18hours claimed lift on a charge and lightweight. Plus, since they are 2 generations old since the 520 is out, they are getting pretty cheap or you can score a used one for a great price.
Otherwise, with your phone why not get a battery charging pack? 10,000mAh or 20,000mAh packs are pretty cheap these days and you could use it for extra juice for your phone (typical high capacity phone batteries are 3000 or so mAh and others that are non-high capacity are 2000ish or so mAh so you could have enough juice for days on a 20,000mAh version).