This would probably be better as a custom programming project, where I could code a custom extension that fits your needs exactly.
Otherwise, what I might suggest was that you create a separate “wait list” task for each task/item that you want to have a waitlist for. Put the wait list one right after the main one, and then people can simply sign up to be on the waitlist. Not perfect, since they could sign up for the wait list before the main list is filled (but, maybe that’s a positive, if people don’t necessarily want to do it unless the main list doesn’t get filled).
But, if you wish to discuss a custom developed extension just for you, feel free to contact me privately. Note that my rate for custom programming is $100 per hour.