I use an Archos A43IT
https://www.archos.com/products/ta/archos_43it/index.html with Rockbox's Android port
http://www.rockbox.org/wiki/AndroidPortIt's longer than the size you specify but very slim and light and easily sits in a pocket. There are versions with either 8 or 16 GB flash storage and there is a microSDHC slot (definitely works with cards up to 32GB, I haven't tried bigger).
Archos claim "Music playback time up to 36 hours". I didn't test this myself and don't have any reason to find it unrealistic but bear in mind that with this kind of device you will probably find yourself doing many other things that consume much more power than audio playback.
There are bigger and smaller models but this one hits the sweet spot in terms of battery life.
There are a couple of Samsung Android based players that cost more but offer a better screen, similar features, replaceable battery and maybe longer battery life.