(Typing this a little preemptively, before I have a complete answer together, because I don’t want to keep you waiting for an answer forever. )
If I understand correctly, what you’re trying to do is a little tricky in the general case, but I think there might be a reasonably simple way to go about it by, as you mentioned, directly calculating the alpha and beta from the position of the thing you clicked on. Alpha and beta (as I understand it) proscribe angles from different primary axes, meaning you might could do something along the lines of the following:
var clickPosition = pickResult.pickedMesh.position;
var centerToClick = clickPosition.subtract(scene.activeCamera.target).normalize();
var alpha = BABYLON.Vector3.GetAngleBetweenVectors(centerToClick, BABYLON.Vector3.Up(), BABYLON.Vector3.Cross(centerToClick, BABYLON.Vector3.Up()));
var beta = BABYLON.Vector3.GetAngleBetweenVectors(centerToClick, BABYLON.Vector3.Right(), BABYLON.Vector3.Cross(centerToClick, BABYLON.Vector3.Right()));
scene.activeCamera.alpha = alpha;
scene.activeCamera.beta = beta;
All this code does is compute a unit vector pointing from the camera’s target toward the point you clicked on, then attempt to calculate the alpha and beta of a camera looking down that vector. (Note that the calculations above are wrong and produce the incorrect alpha and beta, but I think I’ll just need to play around with the parameters and calculations to get it right.) This approach should work reasonably well – if your object is convex and the camera’s target lies at its center, as in the case of the sphere in the other Playground you referenced.
The problem gets a bit harder with a concave object because the direction from the camera’s target to the clicked point may not be the direction you want to view from. Originally, I thought this was going to necessitate a different approach entirely; however, as I’m writing this, I’m thinking it might be sufficient to negate the object-to-target vector if you’ve clicked on something on the other side of the camera’s target. I’ll fiddle with this a little more and see if I can get something running; but wanted to let you know that this is what I’m currently thinking about this, in case it helps.