Not directly, no. What you describe is kind of like expecting your e-mail program to know when to open and display new e-mail, even though the program needs to be open already to check for new mail.
You might be able to do this with a trigger on the table itself - however note that triggers can be disabled, and also that some operations (such as
BULK INSERT) can intentionally bypass triggers.
CREATE TRIGGER dbo.ShouldIEnableJob
IF EXISTS (SELECT 1 FROM inserted)
SET enabled = 1
WHERE name = N'your job name'
AND enabled = 0;
(This doesn't follow your requirement of checking once an hour, but rather it responds to the first insert. You'll also want to drop the trigger once the job has been enabled, but I don't know that you'll be able to do that from within the trigger.)
You could probably create a different job that wakes up every hour. It would check the data, and if it is time to enable the other job, it would do so (similar to the trigger above) and also disable itself. You could also schedule something similar outside of SQL Server (e.g. using PowerShell, VBScript via Windows Task Scheduler, etc.).
Maybe Event Notifications could assist in a similar way, but I've never used them for this specific purpose.