While it's not possible to get the MSISDN (the phone number) of the device in J2ME it's however useful to verify that a manualy entered phone number is the number of the device running on.
This could be used for e.g. registering an application for a specified phone. (With a unique generated license key for this phone number.)
The idea is to listen for an incoming SMS on a specified SMS port and then send an SMS to that port with some random generated data to the number entered by the user.
When the SMS is received we could verify that the data received is the data we sent and can check the originating phone number.
This approach could even be used with native Symbian apps since I heard that getting the MSISDN in a portable way isn't even possible with C++.
I think binding a license to the MSISDN is morer userfriendly than using the IMEI (which is not possible for JAVA apps) or the bluetooth device address since the user can get a new phone without the need to buy all the apps a second time.