To simply chop it up, find natural boundaries where the set of which variables are needed changes. A large number of concecutive lines that uses only a small number of the total number of local variables could be pulled into a subroutine, passing it only those.
If there are no such divisions, make an object to hold the stuff as instance data, and then you can divide anywhere. Divide it into separate members based on logically complete steps.
Comment on Re: Help paring down massive subroutine