Can I create a page template, use it once, then hide/remove the option to use it again?

If a page won’t work without a specific template, I would just remove the need for them to select a template. Filter template_include and select the template based on the requested page:

function wpse50455_template_include( $template ) {
    // check if it's a page
    if ( is_page() ):
        $this_page_id = get_query_var( 'page_id' );
        // check for presence of meta data to determine what template you need
        // return the desired template if required
        return get_stylesheet_directory_uri() . '/my-special-template.php';
    endif;

    return $template;
}
add_filter( 'template_include', 'wpse50455_template_include' );