You're not updating status_1 within the while-wend loop so it will always be whatever it was when you entered that loop.
Code:
status_1 = PortA & %00011100     '<---This is where status_1 gets its value.
;    PortA.0 = 1
;    TrisA.1 = 0
select case status_1
                
case 12
  while status_1 = 12    ' <---- Here, if you don't "refresh" the status_1 variable within the loop its value will NEVER change.
  portb.1 = 1
  wend
  portb.2 = 0
/Henrik.