Proximity functionality in GRASS?

Hi,
  How would GRASS best answer a question like:

"Show me all areas that are 5 miles from site A?"

        -OR-
"What areas are 50 meters from highway C AND have a slope of 3-5 degrees?"

Assuming I already know the terrain characteristics, what is the best method
for asking GRASS this question? I was thinking of some sort of proximity
function, but I've found nothing in the manual so far.

Any suggestions would be greatly appreciated,
  Dianne

Maybe this will work....

g.region map= "site.rast"
r.buffer input=site.rast output=site.buff (with proper params. of 50m)
r.cats site.buff (what cat# is 50m?)
r.reclass slope (slopes of 3-5 deg. equal to 1)
r.mapcalc answer = if((site.buff == "cat#") && slope.reclass)

I'm sure there must be a faster way, but I think this will work....
Don't flame me if not though.

--
R. Brian Culpepper Research Assistant
---------------------------------------------------------------------
Center for Advanced Spatial Technologies (fax) 501 575-3846
Rm. 214 Ozark Hall (work) 501 575-6159
University of Arkansas brian@cast.uark.edu
Fayetteville, AR 72701

All opinions are my own and do not necessarily reflect those of the
Center for Advanced Spatial Technologies or the University of Arkansas.