Is there a way to make it so a specific object in my scene will be the top layer above the GUI, so the Gui elements are behind the object ?
Well, as far as I know, it is not possible to take an object from the scene and place it in front of the GUI element.
If you need a single shot of the object use GUI.DrawTexture.
and simply assign a texture(you can eather take a picture somehow or make it in Photoshop or something similar)
If you want a live preview you can use a
Render Texture.
Hope I helped!
If you are using OnGUI calls, then no. OnGUI trumps everything, regardless of multiple cameras. If you are using GUITexture and GUIText, then yes. You can do so by having multiple cameras, using custom layers for your gameObjects and GUI objects, use the camera’s culling mask to render which items you want for each specific camera, and set the camera’s depth to choose the cameras rendering order. If you have the cash NGUI has the ability too, because they use a 3D GUI system.(They also have a free version on their site :P)