As always mentioned testing is context depended , so the time required will change depending on complexity , regression suite, automated or manual , domain expertise requirements etc.
The success of a good test engineer is in justifying why he/sh thinks the time requirment is "20%" , and the justification should be through fact and figures.
I'm not aware of any good rule of thumb for the effort for carrying out user acceptance testing. As Cosmin said, one factor is the type of application - different types of systems will have different amounts of effort dedicated to UAT. Other factors include who is performing the UAT and their familiarity with the system, the complexity of the changes since ...
I don't consider this being as easy as using the rule of thumb for neither of your questions as there are several factors that should be taken into consideration.
Let me expand on this.
how much time User Acceptance Testing might take?
for an e-commerce site I consider 20% for UAT time too much
for a video streaming platform it may be the right amount