A few days ago, Blizzard semi-accidentally revealed that they were working on a cell-phone version of the authenticator (which works well along with the whole Battle.net account thing). Excitingly for many of us here, the iPhone was one of the supported platforms. Today, the Battle.net Mobile Authenticator has appeared in the app store, and I've got it installed on my iPhone. And it's free!
You can find it in the app store on your phone by searching for "Blizzard" and scrolling down near the bottom. Or you can just click this iTunes link. Anyway, once you install it, it's a pretty simple matter to attach the authenticator serial number to your Battle.net account, and then use the generated codes to log in to WoW.
It is also supposed to work on the iPod Touch, with the caveat that you need to be in wifi during the setup; thereafter, it can work without a network connection (on the Touch as well as the iPhone).