Hi Navin,
Which OVS are you using?
Some of them (e.g. COD_BPParty_OVS in C4C) allow to set a business partner role code.
Regarding fetching party content:
Instead of assigning the party content individually you can set an association to the originating party object inside your InvolvedParty subnode.
Update this association inside the InvolvedParty-Event-AfterModify.absl by comparing the party id with the associated parties ID. If they differ update the association (make sure to also check for empty/illegal ID as well as no party association set).
Then in the UI the data view to the content of the referenced party Business Object.
Hope to Help,
Ludger