I would also use a binary arrangement as already suggested. Decade is useful when using manual switches. We "think" in decimal numbers, so making the switches that way is logical. But when you add a microcontroller between you and the resistors, then there is no longer any need to use a decade arrangement. Now you can use a power-of-two arrangement (like a R2R DAC, google it and study it) and have the micro convert between the decimal number that was input by the user, and the binary arrangement of the switches. You will end up with fewer resistors and switch poles this way.
You could use relays for the switches, or power MOSFETs. Either one will have roughly a few tens of milliohms of resistance when On. Solid State relays are also an option, but probably more expensive. Mechanical relays work well if you don't need extremely fast switching times or a lifetime or millions of switch cycles.
Nobody has addressed your requirement for the device to be controlled over USB. I personally think that the easiest way to do this would be to use a small cheap USB-to-serial (TTL level) converter which can be had for less than $2 on eBay, etc. Connect that to the UART of the microcontroller. Receiving and sending bytes from the UART is at least an order of magnitude easier than USB, both in terms of effort, code size, and code speed. Let the USB-serial converter do that work, that's what it's made for. Then you just need to come up with a simple command protocol, and send those commands as strings to the device over the serial port.