I'd like to use the pspDebugScreenPrintf function to output to a texture, without having to re-code the function myself. Is there a way I can re-direct pspDebugScreenPrintf to write to a texture instead of vram?
Not really, most of the stuff in screenprintf is hard coded to operate on the display device. You could tweak the sdk routines so you can set the address of the g_vram_base pointer externally then as long as your texture is 32bit colour and 512 pixels wide then it should work.