It is not very good idea to use mercurial itself, because it will clone the repository.
EHG_REPO_URI
EHG_PROJECT
EHG_REVISION = 40-digit hexadecimal string is treated as a unique revision identifier, see `hg help revisions`
EHG_STORE_DIR = "${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}/hg-src"
Github provides snapshot for each sha1. The same does bitbucket - provides snapshot by id.
inherit vcs-snapshot
SRC_URI=...
Where is described the bitbucket feature for converting revision indentifier to snapshot archive name?