It has been a long time wish of mine to have custom formats for sprintf, until I was told I could try to write a module for it. After some thinking, I settled on the basic API, and wrote the basic functionality in a module of about 25 lines. I'm loving it! I'm going to put it on CPAN (my first upload! Though I have plenty in the fridge...), and Corion has promised me he'll lend me a hand, guiding me through the motions the first time. Probably sometime this week.
I'm still thinking on how to best add support for strftime, too.