Ok.
I would tend to it.
This hardcode goes through several org.el functions. The main custom priority (priority retrieval) function should be already working and accepted in the whole Org system. But that hardcode expectation of (* 1000 ..) should be moved-out of the main priority functions and be supplied as default priority getters setters.
1.a) If I decide to do a small change first - I would send a patch.
1.b) If I would decide to do the main part - I would correspond to you with the branch.
I am pretty new to Emacs Lisp, I know FP really well, to be honest as a new Elisp dev I am feeling little uncomfortably nervous by touching the main Org-mode code, but I kinda know and sure how it all works, and would do it.
P.S.
I can not use the current default priority system.
I thought much about what system of priorities I feel great about using.
I had a major idea. I become very driven by this idea.
I want my priorities to be [00] -> [99] - which:
1) makes me mentally much more eager to set and work with them.
2) The main thing is with 00->99 it is impossible to stress about, currently every time it is a decision is it A or B, or maybe C. And then priority C - why do I do something mediocre.
3) 00 - 99 priorities have a natural scale, mentally you can feel their priority size, feeling easy setting and reviewing them, since setting them is intuitive and not a decision.
4) It is a priority as a percentage of a full priority.
5) It is a really scalable range, making all tasks be sorted much more granularly.
6) You can select to show diapasons, like show me 99-90 tasks, 89-60, or if you feel tired and playful, and just want to do something not critical, not current-work related - you can look at 60-40.
7) And you can move colliding priorities (like 80) to value +-1 -> which makes them automatically be sorted by your current planning more, and they would stay very close in the absolute picture, but definitely one after the other.
8) It works perfectly for GTD system. The next task comes to you naturally by itself.
That's why I looked how to do it. And started working on this.
Regards,
Anton Latukha