Mixing Custom Post Types and Page Templates in WordPress 3.7.1

If you want your single post pages to be hierarchical children of /locations, then the easiest way is simply to use archive-locations.php.

I’m not sure why you’re involving a “Locations” static page here, when you can modify the archive-locations.php template file in any way to suit your needs – including outputting a custom query loop.

And because you have complete control of the template, you can add your own custom meta description and title. For example:

Custom Title

function wpse124052_locations_title( $title, $sep ) {
    if ( ! is_post_type_archive( 'locations' ) ) {
        return $title;
    } else {
        return 'Your Custom Title Here';
    }
}
add_filter( 'wp_title', 'wpse124052_locations_title', 10, 2 );

Custom Meta

function wpse124052_locations_meta() {
    if ( is_post_type_archive( 'locations' ) ) {
        echo '<meta....'; // your meta tag/discription here
    }
}
add_action( 'wp_head', 'wpse124052_locations_meta' );