Why it's not possible to manipulate the TWSR directly? I think I forgot the reason for this SFR manipulation in microcontrollers; like, checking the TWSR in twi.

The technique for checking the values of the TWSR is by masking it with another variable or a value.

So, why not checking the TWSR directly in; for example, switch function for checking the values of TWSR?

Like, switch (TWSR) 

instead of

uint8_t Status;
  Status = TWSR &amp; 0xF8;
  switch(Status)

Or, substitute it in any function; like, Serial.println(TWSR); or digitalRead(TWSR);. DO I have to mask it? If so then why?
Why it's not possible to manipulate the TWSR directly?
  i2c c switch


Because your premise is wrong: it is routinely done to manipulate twsr directly.

As to the use of masks, well, because sometimes you only care about certain bits but not others. So you mask away those that you don't want.

Just that simple.