Combine tables only if no results
You can't say "UNION ALL ONLY IF SOME CONDITION" but you could do:

IF EXISTS (SELECT 1 FROM dbo.FOO)
BEGIN
  SELECT Column1, Column2, ColumnN FROM dbo.FOO;
END
ELSE
BEGIN
  SELECT Column1, Column2, Column3 FROM dbo.FOO_ARCHIVE;
END