AFAIK regular apps on Android can not communicate with a SIM card. This is a fact and can not be circumvented on a non-custom Android build.
Only system apps like the SIM-Toolkit-App can communicate with the SIM card using the Radio Interface Layer (RIL). But this interface might be tightened down to SIM-Toolkit usage (have not checked it).
The only alternative is using "non-standard Smartcards" like those integrated in an SD-Card or external NFC cards.