Re: the feature-request part of your question — I know that there are extensive changes being planned for handling closures. Some of the ideas discussed were (subject to change)
- more granular sub-reasons which can be adapted to the community's needs (e.g. choosing why something is "Off Topic" or "Not Constructive" or "Too Localized")
- a free form input where mods can enter custom reasons (for cases where the existing ones don't cut it)
- a "hold period" wherein the question can't be deleted even by 20k users, and the OP will be actively encouraged to edit/improve.
You might have already seen some of the changes in the way "Exact Duplicate" closures are handled. Discussion on the big-picture details on some of the above is currently underway here and here.
Anyway, my point is that we might be able to work in what you're proposing into the new system and I would suggest waiting for that.
Re: the discussion part of your question — I fully understand the frustration here, but the only good way to solve this problem is if the community takes a principled stand against such coding requests. I have no qualms with single handedly closing the outrageous and explicit requests, but for the more subtle ones, there has to be a show of consensus.
Part of the complication is that this is a subjective decision (although most of us can agree on the vast majority of them) and a lot of us (knowingly or unknowingly) also factor in the person's history on this site (do they help others? Do they repeatedly ask such questions? etc.). As Sjoerd said, some people can't resist a challenge, but not all of them are aware of the Tom Sawyer problem (or that certain users have a history). Or maybe they're aware but choose to ignore. Either way, leaving a comment, as rcollyer said, asking the OP to explain it in further detail, add their efforts to the problem, etc. is a very important first step (along with a close vote, if necessary).
In other words, use the existing tools (comments, downvotes, close votes), and let others know how you used it and why, so that you can educate those not familiar with the problem or those who don't have access to the tools yet. Even if it doesn't help with the particular question on hand, over time it will inform others and shape community consensus on this issue.