One thing you can do is replace efetch with a perl script that does the
same thing. This can then retrieve data from a variety of sources by
different methods. For example, our version of efetch gets sequence
data from our in-house SRS server, in some cases, and from FASTA format
files in others, and from BLAST 2 format in yet others.