Ok, I'm going to try to answer my own question.
I wrote a little Java program to compute all of the possible combinations of resistor values for a voltage divider composed of resistors switched in parallel. This program then emits the binary sequence necessary to iterate through the ratios in increasing order, the corresponding ratios and of course the necessary resistor values. I can specify how many switches and their orientation, the target ratios, desired accuracy, specific resistor values to be used and so on. The result is a resistor network with a totally custom taper.
This results are quite good for log tapers. In some cases the results were within 1% of the target ratios. There are some "magic" values that produce useful gains. For example, if you use 2 switches (or 2p4t rotary switch) in an inverted op amp config with a divider like:
10k || 10k
10k || 3.3k
where an upper 10k and the 3.3k are switched, this yields gains of almost exactly -6dB 0dB 6dB and 12dB.
Here's a more elaborate example:
The following are target dB values for 3 switches which of course yields a total of 8 steps along with the values determined by the Java program:
You can see the values have been customized a little. I went for finer gain control around 0dB but dropped the 1st step and significantly increased the 7th and 8th steps. The resistors necessary to get these gains are shown in the schematic. I also simulated this in LTSpice to confirm everything works as advertise.
The results are not perfect. The average accuracy of all divider ratios was 2.7% but at least one value was off by 15%. Fortunately these tend to be the end values as it is difficult for ratios to reach 0 or 1. The 1st step was only -10.91dB whereas I was looking for -12dB.
I think reverse log should be quite good as well since you can just run through the binary sequence in reverse.
Of course this is also applicable to non-inverted op amp configurations or anything that uses a voltage divider including tone stacks and panning controls and so on.
So the answer is - it certainly is possible. But it requires some work to find the right resistor values. I found no obvious "golden rules".