Sorry to say this but half of what you say doesn't make sense once you have more knowledge of what the actual problem is. Please read the wiki page for
Topological naming problem although I'm not sure if it covers all the nuances of the problem.
The names given to geometries are out of FreeCAD's control because it's done by OCCT a third party geometric kernel, your "solution" would have to be done at the OCCT level so you would have to propose it to them and they have no interest in changing that, plus it's suboptimal really. Because of this FreeCAD needs it's own naming scheme for geometries in parallel to the names given by OCCT, since this parallel naming scheme is under FreeCAD control there is absolutely no need to make it consecutive numbers or to insert one in the middle of the list instead of at the end, so your method becomes unnecessary and a waste of memory by assigning hundreds of empty spaces. Anyways, like I said there is working code pending merge approval for this parallel naming scheme and for figuring out it's correlation to the OCCT given names so you're a little late to the party.
Sketcher does have it's own FreeCAD controlled naming scheme that's very flawed because it uses consecutive numbers but there isn't an issue of inserting new elements in the middle of the list but rather that empty spaces are not allowed and when deleting a geometry/constraint the ones with a higher number are moved back, this would not be solved by pre-allocating empty spaces though.
Regarding datum planes, you appear to believe their only meaningful use is to use as an intermediary for placing single sketches but this is not the case but in fact the opposite, creating a single datum plane to place a single sketch is unnecessary because a sketch has all the placement options that a datum plane has. Still, datum objects aren't just a workaround for TNP, they are useful features on their own and should not be removed even if the TNP was fully solved.
Also I'm confused by your use of the word hash, it seems you are using it interchangeably with array and I don't see how this would be the case, are you sure you understand the correct meaning of a hash? Or is it just me that is confused?
If I can provide a viable solution to the topographical naming issue that has been an issue for years, then I was just suggesting that the bugs and features I suggest can get a priority review ?
First off, bug report and feature requests are judged and given priority based on their own merits not based on who submitted them, and then they are tackled according to the devs availability and interests as they are all volunteers, at most you could offer a bounty for solving your issues and hope someone takes it on. Secondly your idea was a shot in the dark and superficial, even if it was the right idea that doesn't give you special privileges, as I often say here in the forum we are not short of ideas, we are short of manpower, so your idea is of very little use if you don't code it.
Don't get me wrong if you have actual useful things to contribute we welcome it but please take the time to understand things before pretending to give a solution, read the wiki pages and don't be afraid to ask for clarification on the appropriate places.