Это специально для Teradata, но в целом возможно ли макросу принимать список в качестве параметра? Например,
create macro myMacro ( incomingList ) AS
(
select foo
from tBar
where animal in (:incomingList );
);
... а потом ...
exec myMacro( ('chicken','pig','cow') );