For a single digit, BCD is binary; you can use it as-is.
For the tens digit, you need to multiply the BCD representation by 1010b (10d) and add it to the units digit. You can do that with two adders. Since the maximum value will be 99, the result will be 7 bits wide, with the least-significant bit coming directly from the units digit; the adders themselves will be 4 and 6 bits wide.
For the hundreds digit and higher, you could proceed analogously, multiplying by the binary representation of 100, 1000, etc and summing the partials. This will give you a purely combinatorial circuit, albeit one that's not necessarily very fast in terms of gate-delays.
Alternatively, you could build a sequential circuit which operates one digit at a time, starting with the most significant. At each step you multiply the running total by 1010b, then add the next digit. The adders will need to be wider than in the "tens digit" example above, but the total amount of hardware should be less. This is a logical method for handling calculator keypad input, since the digits will be supplied in the correct sequence anyway.