elevator pitch + linear exploration

One question about using step() in R:  it kept every single term in a big expression like poly(a,4) * poly(b,4) rather than only picking out the most important terms in there.  Is there a way to have R (or Python) pick the best terms within that big expression?

Also, as a FYI, I deleted all of the tree commands I was using to predict the residuals from my linear models to figure out what variables to add to my (admittedly exceedingly large) linear regression.