Replicate to only selected target environments from a single authoring instance is not supported OOB. And it might not be a good idea, since behind the replication, there are other things like replication status, versioning, enable the selected targets replication will increase the complexity to all these. How about configure your author instance to replicate to pre-prod env only, and then from the pre-prod replicate to your production instances?
Any how coming to original question on replicating to particular agent an example at  might give you an idea how to replicate to particular agent based on process argument configured.
Thanks Sham. I was trying to make it so that the author/approver would only have to interact with one server i.e. the authoring server, but this is a simple solution that is doable without too much headache.
There are some other options although it is probably not preferable to have one author to push to preprod and prod systems. here is how to trigger a specific replication agent from code:
Do not call it "pre-prod" environment! This is an essential part of your production workflow, and "pre-prod" can suggest some different meaning. Some projects call a testing environment "pre-prod", because it's the last stage of a release before going to prod.
In any case the approval workflow is more complicated, because when the content in that "preview" instance has been approved, you need to replicate it to the publishs. In both ways the approver needs to switch the environment (either to author or to some kind of UI on the preview instance) to continue the workflow.
And do you really want to run every publication of new content through this heavy approval process? If yes, your preview environment should have the same SLA as your author environment.
I did this discussion several times, and in most cases this requirements creates more problems than it solves.