Hi Amr
It is possible to hide a program by
- Enabling audience based visibility
- Create an audience with users you want to see the program
- Select the Visible learning tab
- Add the program
- Select 'Enrolled users and members of the selected audience'
To make this visible after a certain date then you can select visible to all users under visible learning or have an audience rule based on a date value
Regards