hi,
Not sure if WP allows you to create a custom role and expose one page of the plugin’s admin pages to that role. I don’t have any experience with that, but you may want to check the features of plugins that allow you to change the roles.
If that doesn’t work, then I guess the best approach would be to write a plugin that defines a shortcode that creates the form (and all save logic). You can then use a page/post and put the shortcode in it.
The leagues are stored in one table in the database (pool_wp_leagues) and you define to which league a user belongs in another table (pool_wp_league_users).
If you only want to allow certain users, you can specify a role (existing one or create a new role) in the shortcode. See beforementioned plugins that can help you with creating the role and capabilities, or you can specify them in code.