Instead of using the if clause, insert your condition as a where clause
....
UNION
Select Field1,Field2
From TableE E inner join TableF F
On E.ID = F.ID
UNION
Select Field1,Field2
From TableY Y inner join TableZ Z
On Y.ID = Z.ID
WHERE @DataDaUTC<= @DataStartNBDO