Stop agent job after executing for a certain number of hours
Personally I would create another job and schedule it to run each morning at 7am. 

A job step within that job could execute something like 

USE msdb ;
GO

EXEC dbo.sp_stop_job
    N'&lt;Your job name&gt;' ;