I'm afraid I have to vote with ambrus on this one, for most cases.
The problem, as I see it, isn't the number of variables, but the distance between the definition of those variables and the location(s) where they are used.
In addition to the OOP methods mentioned above, declaring your my variables in a short scope can go a long way towards improving readability.

The most obvious case would be the replacement of a single global variable with a scope-restricted variable and access methods for it. IMHO, this would be an improvement even if the code that uses those access methods needs additional temporary vars to work with it.