While I am LAZY, and generally concur with...
I wouldn't hardwire it unless really no other option. It's ever worse than hardcoding the code.
(for which there are reasons other than laziness!)
... I also fall to the "That would be FUN!" school of thought. Both the finished device, and the "getting there". Though doing it in software is usually easier in the long run. (And better in other ways.)
I hope you are PLANNING this first, THEN buying your switches? There are many options.
If you already have the switches you want to use, tell us what they are, for useful suggestions.
There ARE neat (and quite expensive) little modules which might interest you. (Actually... not all are VERY expensive.) (Do a Google search on "bcd switch".... though, telepathic Google came through as usual even when I tried "bdc switch"! Lysdexic? Moi?)
Decide if you can "live with" each switch offering only 0-7 (0r "1" to "8")... lots of advantages. Or, if you "must" have 0-9, you might as well go to 0-15 (usually represented as 0,1,2,3...,8,9,A,B,C,D,E,F)
THEN how do you read four of them?
I'd probably use a multiplexing scheme. (Go Google.) You can do it in hardware with a fancy extra chip. Or in software with just your Arduino. For 0-7, you "need" 3 digital inputs to the Arduino (4 gives you 0-15)... per switch module, if you don't multiplex... but that's "all" you would need. (Use a Mega clone!) Really simple programming. If you multiplex, you need th ebasic 3 or 4, plus two more lines which will be outputs from the Arduino to read four switch modules. 3 outputs lets you read up to 8 switch modules.
Go for it! Have fun! Wtie up what you've done at the Arduino playground or in a blog, for the next person. (There are probably existing accounts out there already.)cc