This feature would be helpful when you want easily linkable blocks/headings as well as consistency in the process regardless of where the blocks/headings are moved.
Proposed solution
Firstly, I understand that moving or extracting a block/heading into another note will break links to the block/heading. A solution to that is outside the scope of this request.
What I am thinking of is a middle ground between atomic notes and blocks/headings via block/heading aliases. If blocks/headings allowed you to define aliases, you would be able to more easily find that block/heading by its alias when trying to link or embed, regardless of a changing block id or heading name. So in a way it would assist with any difficulty remembering the names of headings that have been changed.
Of course, in the case of blocks, you could define a custom block id, but this workflow can feel brittle and exacting, and dependent upon no use of spaces. Plus you need to remember which note it is in. I see avoiding this limitation as one of the major improvements gained with this request. After extracting a block/heading, the process of linking to or embedding that block/heading would be the same as before via the alias, thus making the block/heading feel more atomic. However it is important to remember that after extraction you would still have to fix the broken links (see links below).
I too am curious about the use case of @d_toast. Personally, I think that this ability would make blocks and headings more safely and easily moveable between notes. In addition to the straightforward process of simply defining a block/heading alias, perhaps when extracting a block or heading to another note it would optionally ask to define the alias. The alias could be defined similar to note names in that you cannot have multiple notes with the same name in the same folder. However, these aliases would be vault wide. I feel like these aliases could be more quickly searched, and when used there would be fewer distractions from non alias results in the auto suggestion results, since there could be a syntax to narrow to only one of the defined aliases for blocks and headings.
Use case would be for linking notes, by default, the heading link would look like this Adult Development#Crystallized intelligence
It is ungainly when used in a sentence e.g.
Careful instruction to develop Adult Development#Crystallized intelligence
Although sometimes this context is useful, some link names end up being unnecessarily long and ungainly. My current solution is to set the link alias to the actual name i.e. [[Adult Development#Crystallized intelligence|Crystallized intelligence]] But I would have to do that manually for each case.