I think that there have now been multiple attempts in different modules to look at submission date management, and a lot of the items in your spec we definitely agree with.
My only problem with it (and this is more a comment aimed at Moodle HQ) is that this isn't a problem for just the assignment tool. Varying submission dates applies to other modules such as quiz, workshop, lesson (as well as a number of our own internal modules).
On this basis submission dates should be a core Moodle "service" that can be supported by plugins, rather than something each plugin has to do for itself (and differently).
There is precedent for this in that each plugin can declare in its code what features it supports via the <plugin>_supports($feature) calll (look at mod/assign/lib.php for example). There are already at least 10 "features" defined by Moodle:
- Advanced Grading
Surely a FEATURE_CUSTOM_DEADLINES sits nicely within this?