Hi,
Removing the add to cart button is no problem.
You can set the stock to 0 for example and then change the text "no stock" with a translation override.
Then, you can create a custom field of the table "product" so that you can store the external URL.
And to display a button with that URL, it's quite easy too.
The exact code will depend on how you configure the shop, and which view file is used but it will be something like that to add:
<a href="<?php echo $this->row->XXX; ?>" class="btn">Go to the page</a>
where XXX is the column name of the custom field.
So really easy to do.