Scheduled stop of maintenance task
Programmatically, you can use DATEName(DW, GETDATE()) to see if it is Saturday along with time and then have your sp_stop_job run to stop the job.

You can put that code in IF .. check saturday and time then run stop job code else exit gracefully.

It would be much better if you use Ola's Index maintenance solution (or Minnionware - I have not used it though, since I am using the former).

EXECUTE dbo.IndexOptimize @Databases = 'ALL_DATABASES', 
        @FragmentationLow = NULL,
        @FragmentationMedium = 'INDEX_REORGANIZE',
        @FragmentationHigh =  'INDEX_REORGANIZE',
        @FragmentationLevel1 = 5,
        @FragmentationLevel2 = 30,
        @UpdateStatistics = 'ALL',
        @OnlyModifiedStatistics = 'Y',
        @TimeLimit = 5400, -- 90 minutes, specified in seconds
        @LogToTable = 'Y',
        @Indexes = 'ALL_INDEXES',
        @SortInTempdb = 'Y'