If I understand what you are asking, you would like to have an App on the iPhone that opens up a server socket that a remote client can connect to and send commands to "control" the iPhone. Is that correct?
If so, you will have multiple problems.
1) Your phone doesn't have a static IP address. What's more, I believe the only way you can find an iPhone on a network is via Bonjour. Bonjour won't route across subnets so the phone you are trying to communicate with will have to be on the same subnet as the client. You *might* be able to use some sort of dynamic-IP routing service, like DynDNS, and have the App update its current IP address when it starts. But that process isn't instantaneous and phones are regularly switching networks so I don't think it's a practical solution.
2) Apps can't run in the background so the only time you'll be able to access it remotely is when the app is actively running. Although you haven't specified what you would like to be able to do remotely, it seems less useful to only be able to "control" the phone when the user is actively running your app.
3) The things you can control from your app will be very limited. You could have it dial a phone number, bring up a URL in Safari, open the Mail app, open the Maps app, and maybe send an SMS (not sure). If there are any other installed apps that have registered a URL, you can bring those up as well. But note that whenever any one of those happens, that app starts running and yours stops. So you could send one "command" but once it's done, the user would have to exit that app and start yours back up again to receive more "commands".
The bottom line is, for any useful definition of remote control that I can think of, you won't be able to do what I think you want. Of course, without knowing more about what you are trying to do, I can't be sure. If you can live with all of the above limitations, sure, you can "remotely control" an iPhone via TCP/IP.