Hi,
the sort answer is: yes, you can. No, it's not simple.
The long answer.
To start an application you have to have a "startable" application. E.g., UdpClient.
void UdpClient::StartApplication (void)
This is a private method, but you can have your own application with a similar (public) method.
How to call it ? That's the hard part. You need another application :)
Make another application, and have it listen to a specific port (I'd suggest to use an UDP port, and not raw IP packets). In the packet, have the relevant data, e.g., the peer's port, address and so on.
Then iterate the applications in the node, find the one you want, pass the relevant parameters to it and let it start.
Can be done. It's not impossible. It's not easy either.
Cheers,
T.