Possible to receive a message on GSM?

Hello everyone, this isn't exactly an arduino question directly, although I'll be using an arduino to power the project whenever i get to actually doing it. I want to make a low jack type device (with some other purposes), but I want it to be able to respond to requests for information. Seems like a GSM device is best for this to have coverage in the widest area, but looking at low cost sim cards it seems like embeddedworks has the cheapest solutions. However, these are data only plans and I do not believe I'd be capable of sending a data message to these since they are Private IPs on most carriers.

Has anyone done something similar and if so what did you do to get around this? The next cheapest option I can think of is to get an actual second line on my phone account and put unlimited texts on it to be able to send and receive text messages, however then I have no data on it without paying for an expensive data plan if I wanted to use it to fetch a webpage or something like that.

Thanks for any advice!

As far as I know (i.e. not too much), your cell modem/GSM phone needs to register to mobile network and obtain an IP address before communicating to a web server. Then after communication your GSM device releases the IP address, making your GSM device unreachable from outside. An SMS is my only guess for message from outside. If you don't mind long delays, you can have your GSM device periodically connect to the web server to see if there are any command/data to receive.