Существует ли готовая функция в PL/SQL (Oracle SQL) для выбора значения в поле1 из нескольких имеющихся строк в таблице, отличающихся в дате в поле2?
Почитайте про KEEP (DENSE_RANK FIRST ORDER BY date_field ASC) или про OVER (PARTITION BY person_key ORDER BY date_field)
На сколько я понял вопрос вам нужен примерно такой результат:
SQL>  select * from cawa.qqq where PERSON_KEY=43464 and DATE_FIELD=(  select max (DATE_FIELD) from cawa.qqq where PERSON_KEY=43464 );
       KEY FIELD_NAME                                         DATE_FIELD          PERSON_KEY
---------- -------------------------------------------------- ------------------- ----------
         7 Emma                                               02-02-2001 00:00:00      43464