Hi Deepa,
what you're describing seems to be a semantic routing system. However you' will face a deadlock if you keep on like this.
Your app will have to decide the destination, and the destination is known by its IP address. As a consequence, your statement "the destination is not known a priori and it is discovered within the routing protocol in stage 1" is misleading.
You will have to tell the routing protocol what is the intended destination in one way or another.
The only case where your statement may hold is for anycast addresses, but anycast isn't defined in IPv4. And even if it was, the anycast routing handling is not performed changing the intended destination address.
Anyway, your protocol, your model, your design, your problems. I only wanted to point out that what you're trying to do will cause you problems soon™.
Good luck,
T.