while you would have to use a couple extra chips, you remove a LOT of code and overhead to any project by reducing the amount of work for each iteration of the program.
for example: your method requires extra memory to map the outputs correctly, if you use BCD then you don't really require any extra arrays or complicated if statements (my algorithm for 2 digits was only a dozen lines or so).