A huge pet peeve of mine is the fact that J2ME apps are crippled compared to native programming counterparts. I think the whole J2ME sandbox is an outdated idea that should just go away. You should be able to do anything in J2ME that you can do with C++, period, full stop. if you can write malicious code in Java, you can write it in C. Maybe the answer is that devices should implement the Personal Profile - but they don't so it's a moot point. J2ME is optimized for games, and building any other app is possible but an uphill battle.
Given this is a standardization layer- and it will probably take another year before manufacturers support JSR -177 - but there are certainly J2ME applications that can use this functionality now.
link:
Access the SIM card from J2ME applications