Questions about creating custom viewport for editor window

It’s quite a huge topic.

About creating a new editor window, you can have a look at the new Plugins wizard; one of the three choices allows you to create a new editor window; that would be a good starting point.

For the point 1, 2 and 3, I’d suggest to read carefully and thoroughly the Details Panel Customization docs, here: link text and the Slate UI Framework in general link text.

Also, have a look at the Extending the Editor video link text, and use the Widget Reflector in the editor (Window / Developer Tools / Widget Reflector) and the engine source code to see how things are implemented. For example, you could start with the StaticMesh Editor (SStaticMeshEditorViewport.h and SStaticMeshEditorViewport.cpp) to see how it’s implemented.