SELECT name_table_dan.ID FROM wp_usermeta name_table_dan
INNER JOIN wp_usermeta name_table_newman ON name_table_dan.ID = name_table_newman.ID
...
WHERE
(name_table_dan.meta_key = 'first_name' OR name_table_dan.meta_key = 'last_name' AND name_table_dan.meta_value LIKE '%dan%')
AND
(name_table_newman.meta_key = 'first_name' OR name_table_newman.meta_key = 'last_name' AND name_table_dan.meta_value LIKE '%newman%')
...
Não é a tradução completa da sua consulta, mas você entendeu. Se o MySQL está tendo problemas com tantas subconsultas, tente esta.