Switch to external table as it provides flexibility you are looking for. Note that input file (which represents the external table) must reside on a database server (not your own PC, unless it IS the database server).

SQL*Loader can only insert, not update or merge. You can either use SQL*Loader to load the data into a staging table or create an external table that references the data file. Then you can use the SQL MERGE statement to insert from either the staging table or external table into the target/destination table. External tables can only reference data files on the server. SQL*Loader can load data from files on the client or server.