Calling two images at a time? A better way?

Yep – it is pretty inefficient. Here is a rewrite:

<div id="engagement">
    <?php
        $images = new WP_Query( array(
            'post_parent' => get_the_ID(),
            'post_status' => 'inherit',
            'post_type' => 'attachment',
            'post_mime_type' => 'image',
            'order' => 'ASC',
            'orderby' => 'menu_order ID',
            'offset' => 0,
            'posts_per_page' => 6, // show six images total
            'update_post_term_cache' => false,
        ) );    
        $count = 0;
        foreach ($images->posts as $image) { 
            if($count % 2==0) echo "<div><div class="row">";
            echo "<div class="six columns mobile-two">
            echo wp_get_attachment_image( $image->ID, 'full' );
            echo "</div>";
            $count++;
            if($count % 2==0) echo "</div></div>";
        }                               
    ?>
</div>                      

The idea here is to just use 1 query to get all six images, and then loop through them. We are using the modular operator (%) to determine when we are on odd or even items so we know when to add the starting and ending div elements for the row.

Code is just off the top of my head, so it is currently untested…