Creating page & post templates without template file

I ended up getting this working and it was much easier than I expected thanks to the comments by @LWS-Mo and @Milo.

In my page I add a custom field with name=add_class and key=extra-wide.

I then use code snippets plugin (I didn’t want it in the theme’s function.php since I toggle between the main theme and a child theme. Plus in code-snippets, I am able to selectively enable and disable different snippets). Using that plugin I added the code:

add_filter( 'body_class', 'add_extra_body_classes' );
function add_extra_body_classes( $classes ) {
    global $post;
    $my_post_meta = get_post_meta($post->ID, 'add_class', true);
    if ( ! empty ( $my_post_meta ) ) {
        return array( $my_post_meta );
        return array_merge( $classes, array( $my_post_meta ) );
    }
    return $classes;
}

Then in custom CSS I added:

.extra-wide #page #content .col-full{
    max-width: 95%;
}       

which allowed me to drill down to the first level change that I needed. From there it was just follow the bouncing ball and change the CSS to get what I wanted.