Yes, if you modify it, it will affect all posts.
You’ll need a little PHP know-how, but not much.
First the easy part, actually making the custom field.
If you go to where you edit your posts, scroll down a bit and you should see a box called “Custom Fields”. By default this is minimized, so click the down arrow on it’s right to show it.
Then, just add a new field by typing in a name (name it something like “external_read_more”) and enter the URL as the value. (Subsequent ones will have a drop-down where you can just choose the name so you don’t have to worry about spelling it the same every time).
Update your post and that meta data is saved.
Now you have to edit your template files. You can do this through FTP or through Appearance > Editor in the Dashboard. You’ll want to find the file that has what you want to edit. This varies by theme, but you’ll probably want a file called “single.php” or something involving post.
Somewhere in the correct file you’ll find a segment of code that says “the_content()”. It may or may not have some stuff in the ().
Somewhere before this (in a PHP area, not an HTML area) you’ll want to do this:
$external = wp_get_post_meta(the_ID(), 'external_read_more', true);
Make sure that “external_read_more” is the same thing you typed in the custom field. This will retrieve that link from the database.
Now, wherever the_content() is, you’ll want to put it like this (keep anything in the () where it is in the second one in this code):
if(!empty($external)) {
the_content('', false);
echo '<a href="$external">Read more...</a>
} else {
the_content(whatever-was-already-here);
}
What this will do basically is if there was an external link set, it’ll show all the text you wrote then add a “read more” link at the bottom. If there wasn’t an external link, nothing is changed. You may have to do some CSS to the link and what not, but this should be a good starting point.