Well, coming from the cvs model, effective 3rd party management includes:

(1) A separate branch with the unmodified sources in a specific location.
Ideally, the import command does a sanity check that the "vendor" branch doesn't contain anything else.

(2) A symbol for each each imported version. Normally, this is the release version from upstream or the commit id or whatever. This should be a non-propagating tag.

(3) A merge from the vendor branch to trunk. As fossil keeps track of the merge state, this is easier than with cvs, where it had to be simulated with cvs up -j old-tag -j new-tag.

A really useful "fossil import" would therefore be:

    fossil import REPOSITORY PATH BRANCH TAG

and not require a checkout of the proper branch. The merge part is easy enough to do with the normal merge processing and can be skipped.