Anthony, even after your parlay with Georg and Mark, I am still not confident I know exactly what you want, but I'll give it a stab...
First, the the velocities of the balls, both before and after collision, are broken into two components: velocities tangential to the point of contact and velocities normal to the point of contact. What happens in each of these orthogonal axes does not affect what happens to the other. This is the first really important concept to grasp: For momentum, what happens in tangential stays in tangential; and what happens in normal stays in normal.
Speaking of tangential: Notice that the tangential velocity of each ball is exactly the same, both before and after collision. This would be expected if we assume (and we do) no friction. Another way to look at it: If the tangential velocity of each ball was the ONLY component of velocity, and they barely gave each other a frictionless kiss in passing, wouldn't we expect the velocity of each ball to remain unchanged? Yes. OK, then, we have established that the tangential velocity (and momentum, by the way) of each ball remains unchanged throughout the collision.
Now we go on to the normal component of velocities: We know the velocities prior to collision, and we know the masses throughout the collision. We also know that kinetic energy and momentum are conserved (since this is an elastic collision). Furthermore, we also know that the tangential components of velocities have remained unchanged. We are left with a boat load of equations and only two unknowns: Normal velocities of the masses (m1 and m2) after the collision (v1an and V2an, respectively).
Velocities before collision: v1b = SQRT((v1bn^2)+(v1bt^2)) and v2b = SQRT((v2bn^2)+(v2bt^2)).
Velocities after collision: v1a = SQRT((v1an^2)+(v1at^2)) and v2a = SQRT((v2an^2)+(v2at^2)).
Since momentum is conserved --> (m1)(v1bn) + (m2)(v2bn) = (m1)(v1an) + (m2)(v2an) ... and the normal velocities must remain normal, it is a short step of reasoning to deduce, for m1=m2, that |v1an| = |v1bn|, but are in the opposite direction, and likewise for |v2an| = |v2bn|.
For the more general case, where m1 does not equal m2 and |v1| does not equal |v2|, the equations are:
(v1an) = (v1bn)(((m1-m2)+((2m2)(v2bn))/(m1+m2))
(v2an) = (v2bn)(((m2-m1)+((2m1)(v1bn))/(m1+m2))