1. Possible, yes, some custom-coding needed though.
2. Out of the box, the browsers-language is used, to detect the users-language, the plugin, which does that part, can of course be modified to specific needs.
3. yes, out of the box, there is a snippet, which can create the select.
4. you can use either fieldname with the lang_id or culture_key as prefix (of suffix) or, if you need it to scale to unlimited languages, you would have a translations-table with your fields and a addional field with the lang_id or culture_key
5. Its possible (with little coding) to redirect to a notFound-page, if not translated to the current language. Its also possible to hide untranslated Resources from lists (pdoMenu, pdoResources) with a bit of custom-coding.
I also have question.
Is it possible to parse chunks in the TVs without them breaking the translator tool?