Hi Belinda
I think you are on the right track with an audience based on completion of a program to enrol users on the subsequent program.
If you add to each program the Available Until value of six months time then this should be able to restrict access to the programs after that date as described in the help text below.
This option allows you to hide your program completely.
It will not appear on any program listings, except to administrators.
Even if learners try to access the program URL directly, they will not be allowed to enter.
If you set the Available from and Available until dates, learners will be able to find and enter the program during the period specified by the dates but will be prevented from accessing the program outside of those dates.
Regards