How to handle complex redirection requirement?
You could use Services, you dont have to.

1) To have remote resources you need to create a url in drupal to consume data sent to it (Services can indeed do this). eg, mysite.com/secret/submit-a-resource-location. You could make this in a custom module with hook_menu, it could store values in a table with NID, and RESOURCE_URL as the columns.

2) If you goto some path on your site like mysite.com/passthrough/NID you could look at the NID passed in and in the hook_menu page_callback function and use drupal_goto to go to your remote url.

Eg:

function mymodule_menu() {
  $items['secret/submit-a-resource-location'] = array ( /* ... */ );
  $items['passthrough/%'] = array( /* ... */ );
  return $items;
}

function mymodule_passthrough_page_content($arg) {
  $result = db_query("SELECT resource_url FROM {external_resources} er WHERE er.nid = :nid", array(':nid' =&gt; $arg))-&gt;fetchCol();
  drupal_goto($result['resource_url'], 302);
  // implicit exit here by drupal goto.
}