4.5v to 3v with a resistor
does the use of a resistor have a detrimental effect on battery life?


Partly. There is a voltage drop across the resistor which means wasted power. But this is required for proper operation in your setup.


  Would replacing the pack with a simple switched 2 x AA battery pack improve things (so no need to try and drop voltage)?


Yes and no. Remove the resistor and if the voltage is less than the VF at 20mA, then the leds will be fine. You may have a shorter battery life as you essentially removed 1/3 the power, but it may be longer. You have to measure to see.


  Or how can I power more than one set of these lights from a transformer?


Get a 4.5V or 3.3V power supply, and wire it in place of the batteries. That's it. A 4.5V supply will look brighter. Or use a usb power supply. The leds will be even brighter, as the current increased, so the led life may drop, or you can add a resistor or 1n400x diode to make it go down by 0.7V or 2 for 1.4V. Perfect for your string.

I've done this, a usb port to a diode to one of the led strings with a timer. Running for a year straight no issues.