Can I have two single.php files and have one display just the post and the other display comments for that specific post?

Create a page template to display the comments for the particular “review” aka post.

Then you can link to that page and include the post ID in the url and $_GET the post ide from the url on the new page, then query the post and display its comments.

This should point you in the right direction atleast.
The Final Template Kwame Ended With:

<?php
    /*
    Template Name: Handle Review Comments
    */
    get_header(); ?>

    <?php

    echo '<div id="content" class="barsclubs-single">';
    if(isset($_GET['location'])){
          $location = $_GET['location'];
          $postIdVariable = $location;
          $post = get_post( $postIdVariable );    
    echo 'You are viewing reviews for '.'<a href="'.get_post_permalink().'">'.$post->post_title.'</a>';
          $location = $_GET['location'];
          $defaults = array(
             'post_id' => $location,
             'number' => 10,
              );
    $comments = get_comments($defaults);
    wp_list_comments( $args, $comments );
    comment_form( $args, $location );
    }

    echo '</div>';
    include_once( 'footer.php' );
    ?>

Create a page with the template. And send variables to it like so.

www.yoursite.com/yourpagename/?test=postid

$url="www.yoursite.com/yourpagename/?test=".$post->ID;
echo '<a href="'.$url.' title="View Review Comments" target="_BLANK"';

Would send the id of the current post to your script. Must be used in the loop i believe.

Edit:

You can see it in action here:

The script is pulling the comments for the post with the id of 963 , which is the id I sent it in the url.

http://oq.publicvent.org/handle-review-comments/?test=963

Edit 2: Trying to make this simple for you.

Create a file and name it whatever you would like. Put this code in it:

    <?php
    /*
    Template Name: Handle Review Comments
    */
    include_once( 'header.php' );
    if(isset($_GET['test'])){
    echo 'you passed this script the post id: '.$_GET['test'];
    $test = $_GET['test'];
    $defaults = array(
        'post_id' => $test,
        'number' => 10,
             );
    $comments = get_comments($defaults);
    wp_list_comments( $args, $comments ); 
    comment_form( $args, $test );
    }
    include_once( 'footer.php' );
    ?>

Save and upload it your server. Create a new page and name it all-reviews, use the ( Handle Review Comments ) template for the page template, select it from the drop down list on the right.

Now on your post.php or single.php or however you are displaying your review you can use this to display the 5 most recent comments for that review. Inlcuding a link at the bottom to the rest of the reviews.

<div class="sidereviews clearfix"> 
<h3>Recent Reviews</h3>  
<?php 
    $defaults = array(
        'post_id' => $post->ID,
        'number' => 5, //get 5 most recent comments
             );
    $comments = get_comments($defaults);
    wp_list_comments( $args, $comments );
?>
<?php echo '<h3><a href="'.site_url().'/all-reviews/?test=".$post->ID."">All Reviews</a></h3>'; ?>
</div><!--sidereviews-->

EDIT 3: POST TITLE

Kwame’s code:

 $post = get_post( $postIdVariable );    
 echo 'You are viewing reviews for '.$post->post_title;
 $location = $_GET['location'];

$postIdVariable is essentially a empty variable because the $_GET[‘location’]; hasn’t run yet.

Change that snippet above to this:

$location = $_GET['location'];
$postIdVariable = $location;    
$post = get_post( $postIdVariable );    
echo 'You are viewing reviews for '.'<a href="'.get_post_permalink().'">'.$post->post_title.'</a>';