When emerge detects a circularity in the depgraph and shows the graph for analysis it would be a huge help if th actual cycles would be displayed separately (e.g. nodeA->nodeB->nodeC->nodeA lines below the graph), or affected nodes highlighted in the graph dispay, as usually it's quite a strain to manually detect them.
In r9362 there's a regression fix that should remove PDEPEND noise from the circular deps display. If the display still appears overwhelming with that patch applied then it's because there are multiple cycles and/or large cycles that traverse many packages. In the case of multiple cycles we can improve the display by separating out bunches of nodes that are independent from eachother. OTOH if we try to identify every single cycle individually then in many cases we'll end up actually generating a bunch of redundant output (noise). So I think what we really need is to just separate the nodes into independent bunches when possible.
However, separation into independent bunches doesn't really help when you have multiple cycles that overlap with each other to form more cycles (like what happens when lots of flags like samba + java + cups + odbc are all enabled globally). Anyway, once a solution for bug 175808 has been implemented, all of the circular dependency issues should pretty much disappear. Then it will only be necessary to show cycles that can't be broken by toggling use flags, which should be a much less common problem.