Support for required tags exists in the engine (on meta sites, all questions must have one of the tags discussion, support, bug or feature-request. However no main site currently has such a restriction.
I don't see how we could force a platform tag on this site. Not all questions are about a specific operating system. Library requests are often OS-agnostic and instead require a programming language, and it's impossible to list all possible programming languages. Questions asking for a plug-in are often OS-agnostic and instead require a tag for the application.
As for gratis or not, we have no tag for “I'm prepared to pay”, and the gratis tag isn't applied systematically, so that just wouldn't work.
We can show people a screen telling them what kind of information they should include and explaining how to tag their question properly. There's something like that on Stack Overflow. Experience shows that people click “ok” and don't read — the people who do read this kind of message are the people who'll spend some effort tagging their question properly in the first place.
So no, there is no effective technical solution.