Since you are working in 3d world space, why not use the BoundingFrustum class?
BoundingFrustum cameraBounds = new BoundingFrustum(view * projection);
if(cameraBounds.contains(location))
{
// it is in view
}
else
{
// not in view
}
edit. I assumed you are using XNA. If not, you can still reflect the XNA code to see how to make a Bounding frustum class and a .contains method.
The mechanics behind the BoundingFrustum class:
The ctor creates 6 planes in 3d space; one that is the left edge of all that the camera sees, one that is the right edge, top, bottom, near plane, far plane. It stores those planes for intersection tests just like you want. They can be reset anytime the view or projection changes. They automatically take into account the rotation of the camera. the .Contains method checks the test point (your location) against all 6 planes to decide if it is inside the camera's view or not. http://www.monogame.net/documentation/?page=T_Microsoft_Xna_Framework_BoundingFrustum
Here is a link to many forum questions about the BoundingFrustum found on the old XNA creators hub: http://xboxforums.create.msdn.com/search/SearchResults.aspx?q=BoundingFrustum