After reading your requirements, I would suggest a solution that we have developed keeping in mind similar needs of our clients.
We have Edwiser Bridge which integrates Moodle with WordPress, by which you can create courses in Moodle and get them synced to your WordPress site.
This feature will help the site administrator to create courses in Moodle and showcase them in the WordPress end.
User will login to WordPress, if they are new to the training they will have to create an account of their own and they will get a mail to there email id which will contain there password.
Or else site administrator can create each user manually at the back-end of WordPress by which admin can set password for each user and let them access the courses.
Since you said this would be a solution for a industry training program, this feature will certainly help you.
At the WordPress back-end you will be able to enroll or unroll user's from any particular course since you mentioned that you need user to not access courses that they learnt.
We have a Single Sign-On extension for Edwiser Bridge which helps user's registered in WordPress to access Moodle in order to access the course they are supposed to learn from.
The condition that you raised that you want users who select a particular course is allotted only access that very course during his training phase.
We have a solution that would have similar result at the user end, this is how it works once a user enrolls for a particular course and they come to Moodle to learn they would be able to see all the courses but they will be able to access only those courses to which they have enrolled.
Have a look at it, this will be solution for your venture.