How to make object invisible for secondary camera?
If you are doing render to texture you can simply by doing:

obj.visible = True
camera_tex.refresh(True)
obj.visible = False
camera2_tex.refresh(False)


I am not sure if you can do it if you are using viewports.
How are you setting up your two cameras?