Here is a starting point:
It finds the position of a word and then breaks the text into 3 separate instances (text prior to word, word, and text after). You can then change to color of the word independent of the rest of the text.
In it's current state it only works with one text line, and finds only one word to highlight.
Here's a list of what could be done to enhance the technique in roughly increasing difficulty:
* Make it work with multiple text objects.
* Make it highlight all occurrences of a word in a line.
* Make it able to highlight different words to different colors.
* Make it work with multi-line text.
I would take a look at the plugins to see if there are any that allow for displaying formatted html text as that would simplify it by replacing words like "green" with say "[_COLOR=#00ff00_]green[_/COLOR_]".