Well... I found
Lingua::EN::Numbers::Ordinate in CPAN which doesn't do exactly what you want, but might help you solving your problem.
update: I just couldn't believe that there wasn't a module that did what you want, so I kept searching and just found
Lingua::EN::Nums2Words which does
exactly what you want.
acid06perl -e "print pack('h*', 16369646), scalar reverse $="