You should be able to embed the "create directory aleas" command inside dynamic PL/SQL:http://www.dba-oracle.com/t_bfile_external_lob.htm
"The BFILE datatype is used to act as a pointer or locator for the actual external data files. The BFILE datatype is a two part locator, the first part is the file name and the second part is the internal alias for the full path directory where the files reside.
You can also use it to initialize a BFILE locator variable in a PL/SQL program, and use that locator for file operations. However, if the corresponding directory alias and/or filename does not exist, then PL/SQL DBMS_LOB routines that use this variable will generate errors."
To execute the "create directory" from inside PL/SQL trigger, use the dynamic SQL "execute immediate" syntax:http://www.dba-oracle.com/t_execute_dynami..._procedures.htm
PROCEDURE create_dir IS
'CREATE DIRECTORY MY_DIR '||
' AS '''||my_dir||'''';