Limit Possible Bone Location Within Custom Object
No solution was found in the version of Blender that I was using at the time - however in version 2.8 a few more modes were added to the shrink-wrap constraint including the "inside" type which limits the movement of the bone to within a selected mesh-object. This mode does exactly what I was after:



The other types of Shrink-wrap constraint now also allow you to do the inverse (ie. limit the movement of a bone to outside a mesh object).

I'm glad that this feature has been developed - it seemed like something that should have existed so good to see that it now does! perhaps it is a bit much but it is possible that the feature was added as a result of my question?

I hope this helps anyone who comes across this problem in the future!