Interesting question. Let's start with your examples.
You probably meant real heme, fixed:
"Heme" is recognized name in IUPAC tetrapyrrole nomenclature.
But it can also be named as (protoporphyrinato)iron(II).
Protoporphyrin can be named as
3,7,12,17-tetramethyl-8,13-divinyl-2,18-porphinedipropionic acid, or
2,18-bis(2-carboxyethyl)-3,7,12,17-tetramethyl-8,13-divinyl-2,18-porphine.
Porphine can be named as 21,22-dihydroporphyrin.
Porphyrin could be then named systematically as some ugly a,b,c,d-tetraazapentacyclo[X.Y.Z.UV,W.RS,T.OP,Q]tetracosane-i,j,k,...-undecaene (italic letters would be replaced with correct numbers).
How do we put these names together with iron? By using organometallic coordination compound nomenclature. But let us name that organic ligand with somewhat more recent phane nomenclature, that will produce less ugly name, as it is a powerful tool able to make abstractions from the local structures to "superatoms" in a simplified skeleton (can be used nicely to name the local interesting looking organic compound).
So the final name could be
[54,73-bis(2-carboxyethyl)-14,33,53,74-tetramethyl-13,34-divinyl-11H,51H-1,3,5,7(2,5)-tetrapyrrolacyclooctaphane-2(32),4(52),55(6),75(8)-tetraene-N,N′′-diyl-κ4N,N′,N′′,N′′′]iron(II).
I likely have some mistake there, but I can construct the structure according to the rules and check if it is correct, and if not, fix it.
The second example is named by some software in a fraction of a second as (Z)-N1-{2-[({5-[(dimethylamino)methyl]furan-2-yl}methyl)sulfanyl]ethyl}-N′1-methyl-2-nitroethene-1,1-diamine.
So yes, IUPAC nomenclature is constructed for chemists to be able to name pretty much anything. Some strange functional group is present? You can decompose it to building blocks (ad absurdum, you can name -COOH group as hydroxycarbonyl).
However, these rules are constructed by humans, and as far as I know, there is no formal proof that it can name any possible structure. It almost certainly is not (yet) describe e.g. 576
stereochemistry of highly complex molecules with certain topological isomerism, e.g. complicated knots. Is "pyrrol" component name from the heme systematic name too trivial? It is already correct IUPAC name. But you can name it "more" systematically as 1-azacyclopenta-2,4-diene (if I'm not wrong with numbering). On the lowest level, the raw weighted graph of element nodes, the systematic nomenclature probably cannot operate in a practical way. The structural formula is worth a thousand IUPAC words. 576