$(ebuild something.ebuild manifest) should intuitively re-compute checksums (and change Manifest) only for something.ebuild and not require to download anything if the checksums for all listed files are already present in Manifest. FEATURES=assume-digests alludes to this possibility, but $(FEATURES=assume-digests ebuild something.ebuild manifest) still attempts to re-download everything.
Note: I have seeded cat/something with files and Manifest from the portage tree. The ebuild was not modified.
You can configure manifest-required-hashes in metadata/layout.conf, since this commit: https://gitweb.gentoo.org/proj/portage.git/commit/?id=e1de82ebe6ef2dbaab7b56bcf2bb6ff75743a000 Digests for those hashes must be present for all files in order to avoid download. We don't want to generate a Manifest unless a digest for each of manifest-required-hashes is present, otherwise we'd have an incomplete Manifest.