For the admin part I would recommend using the plugin Advanced Custom Fields (ACF). You could however also use the built in meta boxes – but it’s a bit difficult to get started with and I have the feeling that this would be a bit ‘too much’ for now.
ACF lets you add field to post types – also to custom post types.
Inside your template file you can then again use the values entered into those fields like this:
<?PHP
$field_value = get_field('name_of_the_field');
echo($field_value);
?>
As I mentioned above this is just for the admin part – just for getting custom fields for your post types and then get the data sets of your post types printed.
Getting the user make a selection based on those data sets is a whole different / more complex story. AFAIK for that you would basically not create a new page per data set, but a new form.
UPDATE: a.f.a.i.k. you can always include custom fields made with ACF by exporting them as PHP and then adding the function to your plugin file:
To include fields via PHP, please use the ACF export tool and copy the generated PHP code into your theme / plugin …
http://www.advancedcustomfields.com/resources/including-acf-in-a-plugin-theme/