A) Your logic sounds very… Sound. LOL - it should work fine, but you’ll have to use Python to parent the empty object to whatever it hits, as you don’t know before hand which object to parent, correct?
B) You can just select ‘Sphere’ from the bounds type menu.
For the bounding sphere problem, go to the Physics tab in 2.57 or the Logic tab in 2.49 - there should be a Bounds button. Click to enable the button, and there should be a dropdown list, which probably will say ‘Triangle Mesh’. Click that list, and select ‘Sphere’. Then, use the Radius slider to increase or decrease the bounding sphere’s size.
I’m not sure of your setup, as you may be using a cursor object, or you may mean that you want to ray cast from the screen into 3D space, so you’ll have to figure out how to deal with either the object’s rayCast function or the camera object’s screen raycasting function (not sure of the name for that one).