Hi Jen
It is possible to control visibility of courses and programs through audience based visibility.
If you unenrol the users and select visibility to enrolled users and members of audience then only members of the audience will be able to see the courses/program.
You could create a dynamic audience rule that only selects people who have completed the program and these could be given visibility of courses
Regards
Craig