Automatic .... Sure, just put it in your template.
Put <a name="top"></a> in your header.php (right after the name of your blog should work).
For your front page, edit your index.php and add <a href="#top">Back to Top</a> to the Loop section.
Example:
header.php
<?php if(is_home()){bloginfo('name');} else {} ?><?php wp_title(); ?><a name="top"></a>
index.php
<div class="entry-content">
<?php the_content('Continue Reading »'); ?>
<?php wp_link_pages(); ?>
<p class="postmetadata"><?php comments_number('No Comments', '1 Comment', '% Comments'); ?> | <?php the_tags( ' ' . __( 'Tags ' ) . ' ', ', ', '|'); ?> <a href="#top">Back to Top</a> | <?php edit_post_link(__('Edit'), '', ' |'); ?>
</div>
The only reason I DON'T suggest actually using the top link as a link is that... well, a name will format that header as a link, and generally I don't want it to do that.