I don't know how many people keep an eye on the changelog but this has been an often requested feature so I'm surprised that it hasn't been talked about yet. Randy has been busy adding support for named scripts plus a few associated features/improvements. The relevant changelog entries are copied below. Personally, I think that this will be a very useful feature and make it much easier to avoid clashing script numbers/names and so on.
Thank you kindly Randy.

R3358
Added support for named scripts. (Of course, without engine support, it doesn't matter.

Increase the maximum script number from 999 to 32767.
Only create dummy scripts for scripts WadAuthor's error checker might be interested in: If its number doesn't fit in a byte, WadAuthor doesn't need to know about it, because you can't call it directly from a Hexen-format map.
R3359
Added support for loading named ACS scripts. You can't run them directly at the moment, but you can still use them for automatically executed script types (like open and enter).
Change the DACSThinker::RunningScripts array into a TMap so that it can catalog the new range of ACS scripts (up to 32767).
R3363
Make deferred scripts work with named scripts.
Added ACS_Named* function variants of the ACS_* specials that take script names instead of numbers. As these are functions and not specials, they can only be used from inside ACS.
R3364
Added action functions that work with script names instead of script numbers. They are named the same as their ACS function equivalents. e.g. From DECORATE, you can now use ACS_NamedExecuteAlways to run a script with a name.