I managed to get the number of area portals down by about 900 by using a combination of hint/skip and func_visclusters.
Here are some pictures of a Degroot Keep-style watchtower using and not using hint/skip or func_viscluster. Valve kept the watchtower a world brush too, and put a hint brush on all the outward facing sides of the tower to keep the visleafs from splitting wildly. Additionally, I used some func_visclusters to cut down on those splits inside that hint/skip box, to reduce compile time and optimize the map.
Keep in mind: This is a map with four identical towers and several additional optimizations using func_viscluster and hint/skips so the portalclusters/numportals don't really reflect the power of func_viscluster/hint-skip.
Without any hint/skip or func_visclusters:
1127 portalclusters
3047 numportals
With only hint/skip brushes and no func_viscluster.
1245 portalclusters
3336 numportals
With BOTH hint/skip and func_viscluster.
810 portalclusters
2458 numportals