Something like this is potentially doable via a plugin, though I don't know of any already made that would do what you want. I'll address each point below individually to give you a starting point, but after that you may have to experiment a bit to get it all working the way you want. Also wanted to point out all of the below will require C# programming as well as WPF/XAML.
1a) There is a keyboard mapping to switch theme's, but you don't pick what theme you're going to, you simply move to the next.
1b) You could in theory use a plugin to change a variable passed to an element in the WPF XAML view that would drive which images would display in the theme and change that variable via plugin. This would not actually be changing Big Box theme's but you could easily set up styles inside of the WPF to make the whole experience look completely different based on that variable (requires the use of a theme that implements a IBigBoxThemeElementPlugin from our plugin library)
2) This greatly depends on what you would like but you should be able to change this on the fly with a plugin as well (Requires use of IBigBoxMainViewModel and potentially IDataManager in our plugin library)
3) Would be done the same way 2 is