Odpowiadam 8 lat później, ale jestem zaskoczony, że nikt o tym nie pomyślał:
select * into #MyTempTable from...
where 1=2
IF -- CONDITION HERE
insert into #MyTempTable select...
ELSE
insert into #MyTempTable select...
Proste, szybkie i działa. Nie jest potrzebny dynamiczny sql