Pronunciation of the prefix "tri"

Unfortunately not. As your example words show, you can't apply historical criteria (e.g. 'is it a Greek root') or any obvious phonological decision process ('is it stressed,' 'is there a vowel after it').

The only rule I can think of of is: in chemistry, the pronunciation "tri-" = /traɪ/ is fixed.

I can offer an extension of this rule, which I believe always holds:

  • In a word "triXYZ", if XYZ is itself a word in English, then you pronounce "tri" as /traɪ/.

As an AE speaker, I can't think of a counterexample, anyway.