Like Rarst said you can query posts or pages in your page templates. I am currently working on a site that queries custom post types by taxonomy and I have one page that makes 8 queries. Here is an example of the code I am using:
First the default loop to get the content entered on the page from the WP dashboard:
Code:
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<div class="entry">
<?php the_content(); ?>
</div>
</div>
<?php endwhile; else: ?>
<p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
</div>
</div>
<?php endif; ?> Next I query the custom post type with the custom "classification" taxonomy "vodka-gin":
Code:
<?php wp_reset_query(); ?>
<?php query_posts( array( 'classification' => 'vodka-gin' ) ); ?>
<h3>Vodka & Gin</h3>
<ul class="product-listing">
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<li><h4><?php the_title(); ?></h4>
<span class="product-content"><?php the_post_thumbnail(); ?><?php the_content(); ?></span>
</li>
<?php endwhile; else: ?>
<?php endif; ?>
</ul>
The above code is repeated for each custom classification.