So i found an article on using custom queries. I modified the script to pull a specific tag, in this case "Open Source".
<?php
$querystr = "SELECT wposts.*
FROM $wpdb->posts wposts, $wpdb->terms wterms, $wpdb->term_relationships wterm_relationships, $wpdb->term_taxonomy wterm_taxonomy
WHERE wterm_relationships.object_id = wposts.ID
AND wterm_relationships.term_taxonomy_id = wterm_taxonomy.term_taxonomy_id
AND wterms.term_id = wterm_taxonomy.term_id
AND wterm_taxonomy.taxonomy = 'post_tag'
AND wterms.name = 'Open Source'
AND wposts.post_status = 'publish'
AND wposts.post_type = 'post'
ORDER BY wposts.post_date DESC";
$pageposts = $wpdb->get_results($querystr, OBJECT);
?>
<?php if ($pageposts): ?>
<?php foreach ($pageposts as $post): ?>
<?php setup_postdata($post); ?>
<a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"><?php the_title('<li>', '</li>'); ?></a>
<?php endforeach; ?>
<?php else : ?>
<?php endif; ?>
If you only want to list pages for one specific tag then this would work. However, say you wanted to give a listing of pages for each tag based on the current articles listed on the page.
You might create an array of all the tags using the get_the_tags() function during The Loop and then use that array to dynamically generate the WHERE statement for the query.