The bad file and the log file, when referencing external tables, must reside on the OS filesystem. You cannot store this information in another database table.
You can create a user-defined function that references an external table in its PL/SQL block of code. Keep in mind that if you drop or redesign the external table, it will invalidate this function, just as it would with regular tables.
This was first published in January 2006