Yes, TCP is much better for NAT.
You absolutely should NOT be using port 5080 for extensions, that is for the external profile only, ie carriers.
You should never have to assign static ports to phones. The only time that ever seems to cause problems is when a SIP ALG is in play and that is the...