You said yourself that without the hypothesis that m <> 0 you can't prove the claim, so you have to use it. Is there any reason not to?
Here is an outline: you are proving a statement of the form A -> (B -> (C -> D)) where A is "m is rational", B is "m <> 0", C is "n is irrational" and D is "mn is irrational". This is equivalent to A -> (B -> (~D -> ~C)). In proving the latter, you assume A, B and ~D and prove ~C.
To explain the formula A -> (B -> (C -> D)): this is equivalent to A /\ B /\ C -> D. Indeed, saying "if A, then: if B, then C" is the same as saying "if A and B, then C". Formally this can be seen using truth tables.