I have a raphael.js shape which I am plotting circle\'s on top of. I only want a circle to appear if the circle does not go off the boundary of the shape it is being plotted
You could just apply a clip-path (that should be defined to be the grey shape you have in your example) on a group ( element) containing the circles.
See this example from the w3c SVG testsuite for how to use clip-paths.