I don’t think you want to do that – each backend (latex, html, etc.)
could have its own incompatible keywords.
(I’ve got a solution to this that I’ve been using for the past several
weeks, but it involves several interlocking pieces and is too messy to
be shared still. In brief, it comprises extending the parser to handle
:keywords on a #+begin_foo line, and extending the exporter backends to
allow different types of block (definition, quote, etc.) to be formatted
using that information. I’m busy with exams at the moment, but in a
week or so I hope to have some free time to work on it, among other
org-related projects.)