Thanks. I managed to resolve this particular problem. I posted this question on SO, and someone pointed out that the actual type of the "editorInput" property I get from the editor is a "FileEditorInput", which has a project property. However, I'm now seeing another similar "action" issue with this, and the action class is part of Eclipse, so I can't change it.
Specifically, I'm now examining the list of choices that are presented for content assistance. The application has a "TextSourceViewerConfiguration" subclass that overrides "getContentAssistant()". This method creates a "ContentAssistant" and sets a custom "IContentAssistProcessor" instance (which extends "TemplateCompletionProcessor"). When the user attempts completion, I don't see a project or editor easily available. For lack of any other strategy, while sitting at the breakpoint, I'm looking at all the getters available in the "TemplateCompletionProcessor" subclass, looking for anything that might statically or dynamically lead to a project or editor property.
Ironically, the TSVC subclass DOES have an "editor" property, but I don't see any way to get access to that from the TCP subclass.