CLinput is a controlled language text field for Drupal, the popular Web portal engine.
It provides a CCK field type that uses an autosuggest service povered by a controlled language grammar and vocabulary. You can try it in action (see Demonstration)