How can I modify this blog loop to display custom post type posts?

Modify your code to use the correct query_posts call. Use

query_posts('post_type=portfolio&offset=" . $offset);

instead of

query_posts("offset=" . $offset);

Below is your code modified:

<?php
/*
Template Name: 2 Column Blog Template
*/
get_header();
?>
<section class="container">
<!-- 960 Container -->
    <?php
    $counter = 1; //start counter
    $grids = 2; //Grids per row
    global $query_string; //Need this to make pagination work
    $paged = get_query_var("paged');
             $offset = 0;
                if ($paged != 0 ) {
                    $offset = ($paged-1) * get_query_var('posts_per_page') ;
                }
                query_posts('offset=" . $offset);
                if (have_posts()) : while (have_posts()) : the_post(); ?>
<?php
global $more;
$more = 0;
...

The complete codex manual for query_posts is here