SQL Server agent job dependency
You can right click on the job in SSMS, go to properties, then to the 'schedule' option.  From the schedule add your daily schedule to the 4h schedule.  Default behavior of SQL Server jobs are that if a job is already running and the same job comes up again, it'll wait for the prior execution to finish before starting a new one.  What you're describing is the default behavior in SQL Server, you just need to give the job 2 schedules.