Does anyone know a workaround for this problem and does all Polish internet banking work in this way, using SMS to authorise payments?
not all banks use that way - I have an inteligo.pl account (which is part of PKO BP) and I have got a plastic card with gum covered codes - there is some 40 codes on the card if you run out of the codes from your card before they send you a new card (I have received a new card after about 3 years but I still have spare codes on the old one) - the thing is you still need an adress in Poland (it can be your friends address though if you have friends you can trust)
but if you have such good friends in Poland you can actually still use the mBank acount - just leave (send) them your Polish simcard (and ask them to keep your phone number alive - it is not expensive)