I believe the best way to achieve this would be to create/design a submission form with all of the relevant details that you need from customers to determine their eligibility for an account. Once received, you can proceed to create the customer account and email them their login information.
Alternatives to this would be to simply offer eligible customers a sign-up link, or utilize a third party app for creating membership-only content. Here are some tools to help you achieve this:
Offer memberships that shows customers exclusive content like pages, products and collections. You can also restrict the “add-to-cart” button and hide prices from non-members.
The best way to collect emails without anyone else seeing your store would be to customize and utilize the Shopify Password page. Otherwise, you could keep your website public while restriction prices and the cart, create a page that contains the submission form and offer exclusive content to those eligible for accounts.
Some of these changes may require editing the theme code. If you have a Shopify Supported theme, you may be eligible for Design Time to get some assistance with this. Reach out to a Support Advisor to put in a request here.