Hello!
You can add the shortcut cntrl-cmd D to the service from the keyboard preferences pane. It doesn’t conflict withe regular behaviour of using cntrl-cmd D when hoovering over an unselected word.
If you use Spotlight for lookup, then you can just hit cntrl-cmd D after having chosen to see more than the definition, to add it to your “glossary”.
Edit
This may be quite useful for a lot of people that doens’t have english as their natitve language. Now, if only apple enhanced the language support like this for other languages, so we could all view them in Dictionary.app
I take more requests on this, should anyone have any.
My first idea is to keep the list unique, by removing previous occurences, so the last looked up words are the one that are shown first in the list. (Also an enhancement.)
Another approach is to not add any words that is there from before, as you then can look up the word again from within the TextEdit document, without adding to it. (Another precaution here, is to set TextEdit as the default.app so that it will be guarranteed to open in it, as not all TextEditors you can set as the default app for txt documents, uses cocoa and can handle text services. BBEdit (8.7 at least) being the most prominent of them.)
I also ponder a second list, so that you can keep your own explanation of the word, so that no extranous words are added here, due to the former.
And maybe a choose from list, to either look up the word again, not adding it, or showing the word with your explanation.
Another idea is to integrate it with a repetition program.
In the mean time: This little snippet sorts a list in TextEdit, keeping just the unique lines.
tell application "TextEdit"
local tids
set {tids, AppleScript's text item delimiters} to {AppleScript's text item delimiters, linefeed}
set text of its front document to (paragraphs 2 thru -1 of (do shell script "sort -ufd <<<" & quoted form of (every paragraph of its front document as text))) as text
set AppleScript's text item delimiters to tids
end tell