MySQL автоматически оптимизирует ваш запрос, так что функция вызывается только один раз, и результат будет использоваться повторно.
Если вы хотите избежать повторения кода, вы можете оценить функцию в производной таблице и затем запроситьэто.
SELECT blah
FROM
(
SELECT
blah, field1, field2, field3,
functCall(otherField1, otherField2) AS f
FROM your_table
) T1
WHERE field1 % f = 0
OR field2 % f = 0
OR field3 % f = 0