It depends on just what you call a "mobile application", and whether your target is phones or smart phones (e.g. PDA phones).
It sounds like you want to develop an application that won't use airtime, at least part of the time. That rules out WAP.
Most GSM and some (in the U.S. only a very few) CDMA phones can load Java applications.
Most CDMA phones can load Brew applications, which typically have to be approved by and sold through the carrier, and are typically written in C++ (though there's no specific language requirement - they are compiled to machine code.)
"Smart", or PDA phones can load applications written typically in most any language (as with Brew) and using the APIs of their respecitive operating system. (e.g. Windows Mobile, PalmOS, or - emerging - flavors of Linux).
You face more barriers than just technology. The wireless carriers control the browsing experience for many users, it's a "closed shop". You need a relationship with the carrier to get your content seen.