Allows say I've got a simple table of:

id,name,salary

The query I've is:

SELECT id,
       name,
       (salary+1) as MS
FROM test_table

The query I'd like is:

SELECT id,
       name,
       (salary+1) as MS,
       (MS-20) as MS2
FROM test_table

Is the fact that possible by any means or your best option would be to make new subquery each time I have to get MS value.

Sorry, british is not my native language.

it can be done such as this:

SELECT id,
       name,
       (salary+1) as MS,
       ((salary+1)-20) as MS2
FROM test_table

You should use user-defined variables:

SELECT
  id,
  name,
  @MS1:=(salary+1) as MS1,
  (@MS1-20) as MS2
FROM test_table;

But queries which contain user-defined variables cannot be cached by MySQL's Query Cache (just in case you care).