The Salesforce Data Loader requires a configuration file to run in 'Batch Mode', this currently only takes a user name and password. As per the example here. I've scanned the full set of properties available in this configuration file for a SessionId/oAuth token (for example) and there is none. You can review for yourself here.
CLI (or Batch Mode) supports multiple 'process runner beans' in the process-conf.xml file. It would assume that due to the behaviour your seeing it is not pooling the connections to the Salesforce server and making a fresh login for each process runner bean you define in this file? Certainly if you are not using multiple process configs it might be worth a try to see if it would, but I'm personally doubtful.
Sorry its not better news, it would seem the only way to optimise this further is to perhaps review other alternatives (though I'm personally not aware of any of the alternative ones giving a CLI) or write your own Java program using the Salesforce API. In some cases I've found this an easier route than (assuming you have coding skills) since you can make assumptions about your CSV files (How to automate the loading and updating of reference data from command line/ant?).