Os filtros do Thunderbird são processados em sequência, a menos que você coloque explicitamente uma condição que interrompa o fluxo. Então, com essas duas coisas, você geralmente consegue realizar operações AND e OR.
If email is from X and contains Y move to folder
If email is from X and contains W move to folder
If email is from X and contains Z move to folder
Portanto, essa sequência sai efetivamente como "Se o email contiver (Y ou W ou Z) e for X, mova para a pasta.
Se você quiser sinalizar como importante, você efetivamente terá que fazer o teste novamente (usando a correspondência de todos):
If email is from X and contains Y and contains T flag important and potentially do something else
If email is from X and contains W and contains T flag important and potentially do something else
If email is from X and contains Z and contains T flag important and potentially do something else
Assim, todos os filtros serão executados, e é para encomendá-los corretamente para alcançar o que você deseja. Não é tão elegante quanto uma lógica booleana adequada de parênteses, mas você pode chegar lá com mais filtros. E você pode usar a ação "Parar o processamento de filtros" se algo mais tarde corresponder a onde você não deseja.