How can I create a view that displays the most popular nodes based on an outgoing link?
yes it can be done in a number of ways... some options:

1) add a JS onclick="" to the link which goes to a function that causes an ajax call to the server. The server would then take in node information and using something like the Flag Module:


  Flag is a flexible flagging system that is completely customizable by
  the administrator. Using this module, the site administrator can
  provide any number of flags for nodes, comments, users, and any other
  type of entity. Some possibilities include bookmarks, marking
  important, friends, or flag as offensive. With extensive views
  integration, you can create custom lists of popular content or keep
  tabs on important content.


to trigger a counter which can then be easily used in Views.

2) adjust the link direction to an internal proxy page:

&lt;a href="/mymodule/proxy?url=&lt;?php echo $node-&gt;field_download_link['und'][0]['value']; ?&gt;"&gt;


The proxy page would have a callback function that again uses Flag or similar to track the click and then redirect the page to the provided url.

Option 2 is probably the better of the two, but it depends on the set up, and whether or not you want a redirect, etc.

I can give more specific guidance if you decide to go with one of these.