If your import process is able to deal with zlib compression and sqlite, then
why not just create an empty repository (using the "fossil new" command),
push the files directly into the BLOB table of the repository, then invoke
"fossil rebuild" to process them?

Or, how about an --incremental option to "fossil reconstruct".  With
--incremental, you don't have to populate the inport directory with
all of your files all at once.  Start with some subset, import them,
clear out the directory and refill it with new files, import again,
repeat until done.