Screen size of 240x320 pixels is where most j2me-enable phones are these days.
Obviously, touchscreen phones usually have bigger screens than this. A VGA size of 480x640 is just around the corner for high-end phones.
Different screen sizes are usually handled by having generic code that can handle any screen size and can modify layout depending on in-Jar configuration files. You then simply make several jar files, all containing the same compiled code but different values in the configuration files.
For 3D graphics, a lot of phones these days support http://www.jcp.org/en/jsr/detail?id=184.
Recent Sony-Ericsson phones also have http://www.jcp.org/en/jsr/detail?id=239 which should be easyer to use if you already know OpenGL. 3D performances vary widly between phones that contain a hardware accelerator chip and those that don't.
Animated bitmaps on J2ME usually means making you're own redrawing thread to refresh the screen. The only image format officially supported by the MIDP specification is PNG.
Because of this last fact, if you want to create your own pixel font, you are pretty much going to need to have each character in a PNG image.
You might want to look at LWUIT, an open source library published by Sun.