I have just drawn a sketch of something I think might work.
But I don't give any warranties!
Try it at your own risk =P
There are a few parts of this circuit about which I feel a little messy...
1 - That crapy diode logic at the clock generating circuit (that prevents the circuit from counting up when the number ten is reached). I don't know if the diode drops won't interfere with the HC drops... I know, from my own experience, that ORing with diodes is not the wisest thing to be done (ANDs are so fine till now...).
2 - In order to use only three ICs, I have put there only three NOTs to generate the delay necessary to the shift magic work (the inputs S0 and S1 need to be in a stable state for, at least, some nanoseconds before the clock input goes from low to high. As these signals are generated by the same switch, it's necessary to delay the clock a little bit.) The set-up time of the S0 and S1 inputs indicated in the datasheet of the 74HC299 shows a worst case scenario of 100ns. The propagation delay of the 74HC14 is about 20ns... So... You should experiment with the circuit to know if it's reliable.
3 - The debouncing circuit may not work with the switches you buy. Experiment with the cap values until you are satisfied.
NOTES:
If someone could review this circuit, I would appreciate it. I don't want to suggest something that won't work.
I don't have the 74HC194, so I can't assemble the circuit at a breadboard here at home. From my personal experience, it's very difficult that a circuit works from scratch without any modifications.
EDIT: And it's a little bit late here in Brazil right now, it's practically Christmas Eve, so give me a break if I have made some stupid mistake
EDIT 2: Staring at the complexity of this circuits and the myriad of bug possibilities it has, I'm starting to think that's much better to play safe and use a microcontroller =). Discrete digital logic sucks hard. I tend to think that microcontrollers kill all the fun of electronics, but they are much simpler and more reliable...
Castilho