I think you can set the viewer pane's initial size by opening the pane, sizing it to what you want, and then using Settings -> Save as Default Lister. (Same for the tree pane's size, and the fine pane's size.)
For the questions about configuring double-click to do different things for different filetypes you should be able to do all of that via Settings -> File Types.
You'll probably find it easiest if you turn off the option to have Opus use its own viewer on double-click for files it understands. This FAQ describes how to do that:
[How to stop the Opus image viewer from being used by default)
Having done that, for the file types that you do still want to display with Opus's viewer, edit them via Settings -> File Types and assign the Show (or Play for WAV/MP3) command to their Left Double-click event.
For the things you want to open outside of Opus you can probably simply rely on existing filetype associations. Of course, you can also explicitly define external programs that should be run on the Left Double-click events too.
Finally, your idea about using Shift to toggle internal and external viewers should be easy enough as there are separate events for Left Double-click + Shift, and so on.
There's also a new feature in Opus 9 which allows almost any command to behave differently depending on which keys are held down when it runs, but there's no need to use that in this case as the file type events let you do it more easily.