Warning: A thought experiment follows. A LiIon battery could be a decent solution....but a USB power bank might be a more practical answer.
I was curious, so I punched out some numbers.
A 9v alkaline battery, with 600 – 700 mAh capacity, has a volume of 22.5 cm³, an energy density of around 28 mAh/cm³.
A 1000mAh LiIon cell has a volume of 10 cm3, an energy density of 100 mAh/cm³.
A 2000mAh LiIon cell has a volume of 15cm³, an energy density of 133mAh/cm³.
So a 2000 mAh LiIon cell has about 3× the capacity of a 9 volt battery in about half the volume.
But the output voltage of a LiIon cell is only 3.7 volts, so the LEDs would have to be in parallel, each with its own resistor. Therefore, the total current draw would be 3× that of using a 9v battery, canceling the energy density gain.
A 4000mAh battery should be about the same size as a 9 volt battery. The net effect of increased current density vs increased current draw would be about twice the life of a 9 volt battery. Of course, the profile of the LiIon cell is different than a 9 volt battery, and a charging module would be required.