in reply to testing for the existence of a tt template: better way?

Why not just use TRY ... CATCH?

[% TRY; PROCESS foo; CATCH file; PROCESS bar; END; %]

seems to work for me. :)