prefabs are still duplicate geo and you want to build your level in maya. you can build in unity but there’s no snap or place on surface in unity (unless you script it). props that you use in game you want to place as individual objects but your level geo you want to combine for optimization. unity is an ide for building your game rather than building your geo.
basically, each object is rendered as many times per frame as it has textures. so if you have 3 trees that share the same 3 textures (ie diffuse, bump, lightmap): as separate objects they will render 9 times; as 1 object it will render 3 times. the amount of polys dumped to the gfx card can add up for complex stuff. so optimize as much as you can. for your example, i would try to use the same texture for my lightmap and make them one object. the lightmaps can be different parts of the texture so that they’re unique but combining them into one object will reduce rendered polys per frame. though sometimes that might not help if say the trees are on opposite sides of the level. unity uses frustum culling. if part of it is in view, the whole thing gets rendered. so you need to think it through/test a bit.
i don’t work in maya. i’m lightwave → fbx. for me, textures automagically are assigned as long as i have the texture in my assets folder. the default is the simple diffuse shader though. so lightmaps and bumps etc need to be manually assigned. i’m sure you can make an editor script to do it for you.
as you noticed, using prefabs helps. set it up once and instantiate via script or duplicate in editor. but that isn’t like instancing for static rendering. a prefab is still a bunch of polys that get rendered every frame. each instance will have the scripts and shaders you assigned to the original. if you want them different, yes, you have to change them individually which will break the prefab connection.
more-or-less, transforms come in auto. where you place it in maya is where it should be in unity - relative to 0,0,0. pretty much just save and import. one great thing is double click it in unity, make changes, save and poof! updated in unity. no need for any outside functions/mel scripts.
not sure if lights will come in. iirc they won’t. the workaround is place a poly where your lights are and then you can find them in unity (again iirc, not real sure).
so after all that, the short answer: 1 2 yes. 3, place polys for your lights and manually/script to place lights in unity. and yes, bake your lightmaps in maya then assign in unity. 4 5 don’t worry about - just save your model.