How about creating a visual web part with a button? Then in the Button.Click event you would provision each of these pages. The tutorial I used to make my first web part is found here: http://blog.concurrency.com/sharepoint/create-a-custom-web-part-for-sharepoint-2010/
As far as links to each other, you could use relative links if they are always provisioned in the same structure.
You can add the link to the project landing page to the top navigation of the root site programmatically as well. Check out this code sample:
// -- Add to Quick Launch --
Navigation.SPNavigationNode nodeChild =
new Navigation.SPNavigationNode(web.Title, strUrl);
web.ParentWeb.Navigation.TopNavigationBar.AddAsLast(nodeChild);
Navigation.SPNavigationNodeCollection ncQuickLaunch =
web.ParentWeb.Navigation.QuickLaunch;
foreach (Navigation.SPNavigationNode node in ncQuickLaunch)
{
if (node.Title == "Sites")
{
node.Children.AddAsLast(nodeChild);
break;
}
}