Do you have a table that tracks your data loads? That table should have a date/time column that identifies the last time the load was processed and completed successfully.
With the correct index on that column - pulling that latest load date would be very simple and quick.
I would modify the approach as:
Declare @loadDate datetime = (Select max(datefield) From dbo.LoadProcessTable Where SomeStatus = 'Completed');
Where DateColumn >= dateadd(month, -6, @loadDate);
Or...instead of worrying about *exactly* 6 months ago...
Where DateColumn >= dateadd(month, datediff(month, 0, @loadDate) - 6, 0); --first of the month 6 months ago
This makes sure you have the past full 6 months - plus current month to date.