Some times, when we work on custom wordpress themes, we need required pages. For example - custom login page. Some times, when user change slug, page template or something else - it a very difficult to find. Or user can delete this page :) Also this can be problem, when you have custom links for this pages on another pages. I want to find solution for manage this. I can paste our code that we use for this.
Themes should not create content. Ever. That is plugin territory.
When you activate the plugin, search for pages with a special custom field. Its name should start with an underscore, so it doesn’t show up in the Custom Fields metabox, for example
But I would question the underlying problem. Why do you need those pages? There are very few cases where that is really needed, a cart page in an e-commerce plugin maybe. A theme should work without such an requirement.