How about asking up front "Is this a competitive bid, a second opinion, or a bid verification?" It may take your requestor by surprise enough to blurt out a reply that will give you more info to work with.

If they say, "Uh, y-y-yes" and give you that 'deer in the headlights look' then you'll know you would've spent too much time & effort and recouped zilch. In this case, you might ballpark it and perhaps give them a little piece of advice like "Well, just as a ballpark I'd say between $XXXX and $XXXX, but there'd probably be a more accurate estimate if I had some assurance that I'd get the work or if we signed an agreement for the time spent developing an estimate."

I've wondered if it would be appropriate to say something to the affect of "If you get an estimate that is lower than $xyz, then check the quality of the [xyz equipment or parts, appliances, fixtures, etc] or higher than $XXXXX then check the number of hours.

If they falter and say "Uh..no, no, I wouldn't do that.." you may have to read between the lines.