Displaying message if no posts in tag

Well, it seems as if you are using loop functions but you don’t have a loop. So I’ve altered your code to include the loops, since it is integral to my particular solution.

<?php
/*
Template Name: Archives
*/
get_header(); ?>

<div id="container">
<div id="content" role="main">

    <?php if(have_posts()) : while(have_posts()) : ?>
        <?php the_post(); ?>
        <h1 class="entry-title"><?php the_title(); ?></h1>

        <?php get_search_form(); ?>

        <h2>Archives by Month:</h2>
        <ul>
            <?php wp_get_archives('type=monthly'); ?>
        </ul>

        <h2>Archives by Subject:</h2>
        <ul>
            <?php wp_list_categories(); ?>
        </ul>

    <?php endwhile; ?>
    <?php else : ?>
        <!-- Display "Posts not found" message here -->
    <?php endif; ?>

    </div><!-- #content -->
    </div><!-- #container -->

    <?php get_sidebar(); ?>
    <?php get_footer(); ?>

So basically you are checking to see if any posts exist for the current query using have_posts(). If have_posts() returns true, the loop starts and each post is displayed. If it returns false, it means that this particular query found no posts. Hope that helps.