After talking to Rodney Baker I decided to post a project file that was the result of a discussion on making a spherical constraint with Carl Raillard on CGTalk. Here's a description of what it does:
When you open the "spherical.prj" project, it should have "Action1" open and ready to mess with (if not, double-click on "Action1" to open it). What you see is "Bone1" as the bone that defines the sphere, "Bone2" as the bone you would attach any geometry to and "Null2" (at the intersection of "Bone1" and "Bone2") which is the manipulator...there is also a "Null1" that is set so that it isn't seen which helps drive this.
When you move "Null2" around ("Bone2" can be moved independently as well, but the constraint only works by manipulating "Null2") you'll see that "Bone2" follows while remaining within the area defined by "Bone1". You can move "Null2" outside of the defined area, but "Bone2" will still remain inside. You can adjust the area within the sphere that "Bone2" can occupy by changing the setting on the "Translate Limits" of "Null1" in the "Pose1" relationships folder. To make "Bone2" able to operate in a larger sphere, you'll need to increase the maximum translate limit for "X" to something above zero, to keep "Bone2" from reaching the center of the sphere, you have to change the the minimum translate limit for "X" to something higher (-14, -13, etc) than "-15cm".