Although there is no way to do this in standard j2me (except upgrading, as omermuhammed wrote), if you are targetting handsets that allow native development (Symbian phones come to mind) you may be able to either register a different file as the MIDlet icon or overwrite the existing file (by running native code, not java) after the MIDlet has been installed.
Some newer Sony-Ericsson phones (with the JP8.3 platform onward) have a proprietary java application management API that can only be accessed if your MIDlet is signed by Sony-Ericsson, along with jad properties that allow you to hide your MIDlet icon from the user. Although I don't think that really allows you to change the icon, it can facilitate auto-upgrading.