No. Network Identities are “filled out” at the time of Network.Spawn()'ing. They have to be created after the server is up so that their properties can be assigned properly. What you could do, and are probably going to have to do, is have two different scenes. One that’s loaded for online play and one that’s loaded for offline play. In the offline scene simply remove the Network Identity from the GameObject (as well as any NetworkBehaviours).
Yes, you can. By default, after loading a scene, all of the objects are inactive. You can however, change that.
If you’re simply looking to bring them to life, you can make use of this http://docs.unity3d.com/ScriptReference/Networking.ClientScene-spawnableObjects.html to find the disabled objects, and then you can do with them as you please. If you do this (hell, just in general!), it’s a wise idea to separate your gameplay components from your NetworkBehaviour components, that way you can pull them out and the game will function as a single-player game.
The default use case however, is probably to have the client and server capable of existing within the same application. In the case of having a server spawn the assets, you can use this: http://docs.unity3d.com/ScriptReference/Networking.NetworkServer.SpawnObjects.html The idea here would be that your “server” also runs the client gameplay logic, the same as any client, but also runs the server logic.