Mikhail Tals' books on chess. Learning/analytic chess theory. Perception and intuition in the development of strategic and tactical chess play.
Note that "number of moves ahead" is not necessarily a great proxy for "number of positions considered". An open board with no impending threats has many possibilities of what might be the "best" move, and will require a player to analyze a wide, but shallow tree of possibilities. A board with few pieces and many threats has relatively few "good" (or even legal) moves, so a player can look farther ahead down a narrow but deep tree of possibilities. In some cases, the tree becomes a path - there is only one move to make. This question, for example, shows games with many repeated checks, making the tree of potential moves very narrow indeed.
It seems that most high-level chess players tend to think 20-40 moves ahead, depending on the board state. It's not unreasonable to think that someone could think 50 moves ahead in very particular situations, where the next few moves are "obvious" or even forced. But to be able to consider 50 moves ahead in all possible situations is likely beyond a human's ability.
This is very possible. I think that the key to understanding this is to know the difference between variations and moves ahead.
VARIATIONS: Consider any move. What can the opponent do in return? Does he have 2 choices? 30? Each of his choices makes a variation. If you have a candidate move and you opponent can reply in 10 possible ways, then you see 10 variations.
MOVES AHEAD: I play e4. Then I think that you will play e5, I Nf3, you Nc6, I Nc3, you Nf6, I Nxe5, etc. (Halloween Gambit). This involves thinking 6 moves ahead on a single variation.
So 50 variations? I think that you can do that. In most positions you have about 3 candidate moves. Consider each move; think about three or four moves ahead for each one. You will certainly run into variations. To make 50 variations, your three candidates will have to have about 16 variations each. Each candidate is a variation of of the current position. In our case of 3 candidates, each candidate will demand 4 variations which have 4 of 5 variations each to make 50 variations (4x4x3 = 48). So you see, you variations add up rather quickly. I think that to make 50 variations, you would have to see only about 4 moves ahead in most positions.
In my opinion, this is totally possible, as it has been said above good players have the ability to play games blindfolded, and players such as Tahl are skilled enough to play several blindfolded games at the same time. But in a practical way, calculating 50 moves ahead doesn't make any sense as the possible variations for 50 moves are infinite, even though good players have the ability to go this deep in a concrete line, they don't have to because their instinct will tell them much before whether that's a good line without having to go that deep.