Not sure I'm following entirely and/or if this is the best way around it... but you could try creating a page template, (a "normal" page) and within the code, you can modify the query to only pull in that particular CPT.
Create new page template file,
Ensure you properly name the template accordingly (this is an example):
Template Name: New Projects
Alter the loop of the
page-new-projects.php to only include
'post_type'=> 'new-projects' (NOTE: custom post types cannot contain spaces, which is why I added the
Create a new page within WordPress, titled "projects" and ensure you select the
New Projects page template (or whatever name you pass through in Step 2).
Admittedly, you lose me when you ask if you can add more pages of type 'new projects' and still define one of them as the default page, but perhaps the above page-template may shed some light on what you ultimately want to do.
As an example, I envision the loop to run in the following fashion:
//set the arguments to pass into WP_Query
$args = array('post_type'=>'new-projects'); //This is assuming 'new-projects' is the custom post type
$query = new WP_Query( $args );
// The Loop
while ( $query->have_posts() ) : $query->the_post();
//do whatever you want to do within the loop
Again, there may be a better way around this...