Hi go, I've got a very basic garmin 110, which seems to do most of what endomondo does except the maps, and lasts at least 5 hours. I haven't actually tried programming it. I think a swankier one than mine could do what you want .
OK. I've been running for a year and I use endomondo on my phone. It does what I need it to. It gives me: Average pace Current pace Distance Maps (in case I get lost - has been useful in the past!) Pre-programmable interval sessions
What it doesn't do is: last more than 2 hours (it'll get me round a half but not a marathon) tell me the speed I've done on each interval - I have to get home to find out that interval 3 was a minute slower than interval 2 Bleep at me to tell me I'm not running fast enough