reading separate inputs on digital pins, storing order and replaying as output

When the code shows "firstInput" etc, in the main loop, my goal is to call the function that was associated with that variable during the learn() function. So if during learn, input A went high and the counter was at 0, the goal was to associate firstInput with the combo1() function. Does that make sense?

So the code if during learn the input was A, A, A&B, A, C..

The code
firstInput;
secondInput;
thirdInput;
fourthInput;
fifthInput;

Would actually call
combo1();
combo1();
combo3();
combo1();
combo5();

Does this help illustrate my goal? I understand what I wrote may not accomplish what I'm trying to do, this is why I'm asking for guidance of the best way to approach the situation.