В результате в Query2 вы сравниваете поле do c .npi с ним, то же самое, что сказать do c .npi и npi, по этой причине оно показывает, что предложение неоднозначно, напротив, в Query1 вы сравниваете поле do c .npi с другим полем pass_npi.
Чтобы решить эту проблему, вы должны сравнить те же столбцы, но из разных таблиц. или разные столбцы из одной таблицы.
Запрос2:
CREATE OR REPLACE FUNCTION check (npi TEXT)
RETURNS BOOLEAN AS $$
BEGIN
SELECT 1
FROM org doc
WHERE doc.npi = pass_npi
;
RETURN 1;
END $$