can we develop a j2me application that work in all mobile devices
In theory: yes. In practice: no.
You'll have to stick to the least common set of features which probably results in a poor application. Even within the JavaME world only you'll have to struggle with device incompatibilities and bad implementations of JavaME environments. Projects like J2ME Polish try to help here, but still you won't reach every device.
Either choose a subset of devices you're willing to support or be prepared to put extra work in building and maintaining device specific versions of the application.