Well, thanks for the vote of 1 but I cannot help you if you have no idea of what you expect for an answer. In my opinion my answer fits exactly to your question.
I am also a little shocked by your statement that as far as you understand there aren't if then statements in assembly. Well, do you mean literally "if then" constructions? No, it wouldn't be assembly if there are literal if statements because it would then be a more high level language already. Or does this mean that you have the idea that a higher computer language has a magic fairy delivered with the software that recognizes if statements and changes the instruction pointer accordingly?
The if statement is a simple compare/jump instruction and with a PIC this is:
BTFSS PIN_BUTTON_X, 1 ;Is bit 1 of PIN_BUTTON_X set. IF zero skip next instruction (so no jump).
GOTO PIN_ISNOTSET ;Bit 1 is not zero so JUMP.
;Bit 1 is set so the button is pressed
This is by the way very simple code and again as OriginalGriff did point out very easy to find using google. The solution here is simply to create a kind of subroutine that checks the pins and returns the number pressed or -1 as indicator that nothing happened. If something did happen you check it against the code and if it's the safe you open the vault. But since you have no idea of the assembly of a pic controller I would suggest to use c instead and let the compiler figure out the complex statements such as if. The c libraries also have code that would help you along and safe you time. But thanks again for voting 1 on the fact that the question you have probably isn't all that clear. It really gives people motivation to keep trying to helping you.