Not trivially possible as we don't have support for grouping or hierarchy of containers.
I'd say your best bet is to create two profiles, one for high priority and one for low priority.
Set the "limits.cpu.priority" accordingly, then set "limits.cpu" to 80% for high priority and 20% for low priority.
That's not going to do exactly what you described, but should be reasonably close.
When the system isn't loaded, all containers can use as much CPU as they want. If under load, the scheduler will give 80% of the time to the high priority containers and 20% to the others, splitting equally between containers of the same priority.
That's the theory at least, exact scheduler behavior is pretty hard to predict