Is there a way to reduce inputs or tables
Generally when the input variables are so high, there are a lot of outputs when some inputs take the "don't care" state. This just means it can be either 1 or 0 and the output will remain same. 

Using this, you can drastically reduce your truth table size from over a million entries to a manageable number. You should first list down all the distinct possible outputs of your system (8 states as you mention), and then see which inputs will create such an output i.e. assign each of the 20 inputs either '1','0' or 'X' (don't care). 

This will help you identify which output variable depends on which input, and hence you can build smaller K-maps for these outputs using those specific inputs.

Also, I think it may help if you build a state transition diagram instead of using decoder tables, but you need to give some more details for a definite answer.