Cela s'éloigne pas mal du concept de Cake qui repose sur 1 model = 1 table.
J'ai beau chercher, je pense que les comportements classiques de Cake ne vont pas t'être d'un grand secours.
Du coup, il faut plutôt te tourner vers Model::Query() et faire une requête sur tables multiples avec des UNION ( petite aide dans la doc de MySQL, pour les autres types de BDD, j'avoue que je ne suis pas assez documenté pour te fournir des liens, mais ça doit se trouver).
Du coup, tu pourrais avoir un code du genre :
$this->Model->query("
SELECT * FROM (
SELECT t1.email FROM table1 AS t1 UNION
SELECT t2.email FROM table2 AS t2 UNION
SELECT t3.email FROM table3 AS t3
) AS Global WHERE email = 'john.doe@gmail.com';
");
Remarque, c'est peut être faisable avec des JOIN, mais ça semble être plus complexe.