URL conflict with a ‘Single Page Layout’

You can handle that with a hash (the way javascript does by default) and have the url become example.com#people, or any other delimiter really. It should be as simple as changing the character you’re parsing the url for.

UPDATE: Example code as per comments

$args = array(
    'label'               => 'Your Label',
    'labels'              => $labels,  //define this elsewhere
    'public'              => false,
    'publicly_queryable'  => true,
    'exclude_from_search' => true, //change this if needed
    'show_ui'             => true,
    'show_in_menu'        => true,
    'menu_position'       => 20,
    'supports'            => array(
        'title',
        'editor',
        'author',
        'custom-fields',
        'revisions'
    ),
    'taxonomies'          => array(
        'category'
    ),
    'has_archive'         => false,
    'show_in_nav_menus'   => true
);
register_post_type( 'single-pages', $args );

http://codex.wordpress.org/Function_Reference/register_post_type for documentation, you’ll probably needa drop/tweak some of those args to meet your spec on the project and you definitely need to setup the labels for usability if it’s a client’s site, but that should get you going. This code is untested (I wrote it directly into the textarea, so forgive any typos).