If we made these changes it would basically regress the built-in functions to the old design, which people asked us to change for good reasons.
For example people got annoyed that renaming a function was difficult because you had to update a bunch of strings everywhere. The new functions system fixes this, and function mapping is specifically designed to de-couple the string from the function, so that you can always rename functions without having to update a bunch of strings too. You call it redundancy, but actually it's to improve refactoring, which was a major user request. If we go back to referring functions by name, we regress back to renaming functions sometimes breaking your project, which re-creates the whole problem we were trying to fix in the first place.
As for accessing parameter counts and parameters by index, adding this would also regress the usability of functions in various ways. For example with built-in functions you can refer to parameters by their name - another top request. If we add indexed parameters we regress back to unnamed parameters, which is what we were trying to fix in the first place. It could also cause refactoring problems as well - for example with built-in functions you can just drag and drop parameters and the entire project updates automatically (something that was also previously involved a lot of manual work to update); if you can refer to parameters by their index, this re-creates the original problem that reordering parameters can break your project unless you do a bunch of manual work.
If there are still shortcomings I'd really want to fix them without recreating the original problems! For example with variable numbers of parameters, some languages do not allow this at all. Instead you can do things like pass arrays. In Construct you could already use an Array object to set a variable amount of data in which then gets used by the function. So I think there are already ways to handle this, you just need a different set of techniques. If that still doesn't cut it for whatever reason, then I would want to think about a better design that isn't going to bring up the same problems and cause the same feature requests of "please fix this problem" that we already dealt with.