Can the Sparkfun AVR pocket programmer bootload/program a 3.3 V ATmega328p
With that combination of programmer and Arduino you have two possible options:


Cut JP1 on the programmer and power the programmer from the Arduino. With this you will have to make sure that the Arduino is connected and powered up before you connect the programmer to USB.
Cut SJ1 on the Arduino and allow it to be powered by the programmer at 5V. The Arduino itself isn't required to be powered at 3.3V, that's simply what the on-board regulator provides, so we cut SJ1 in order to isolate the regulator from the MCU. Note that any devices connected to the Arduino will need to support 5V operation in order to this to be safe.


It is not safe to put 5V at the output of the regulator, so you must make sure that does not happen.