I'm accepting Juan's second answer, but I think I'll add a twist of my own (which Juan couldn't have suggested because he doesn't know about the internals of the macros that I'm defining!).
The macros that I'm defining already have variants that deal with capitals and plurals so it's no problem to add a new variant that correctly handles the article. The problem, as I indicated in my comment to Juan, is that the capitals and plurals are handled by suffixes but the article should be handled by prefixes and prefixes are already special.
In more detail, buried in the expansion of \dobj is something like '\my@lower{O}bject\my@singular{}{s} in D'. \dobj itself expands with \my@lower equivalent to \MakeLowercase and \my@singular just giving its first argument. \dobjs changes the behaviour of \my@singular, whilst \dobju changes that of \my@lower.
So I could easily throw in a new switch, say \my@article, which chose between "a" or "the" as appropriate and because it gets thrown in to the definition, I specify whether or not it is "a" or "an". My only problem is what to bind it to. In the above scheme, the obvious choice is \dobja, but that looks horrible! But I can't use \adobj because that conflicts with the fact that \dobj is really the simplest one of these that I have and the current record for most complicated is \KGvCGvTtobj [1]. So prefixes already have meaning and I don't want to overload them.
So what I'll try is to mix both my original plan and this solution. I'll write \a \dobj as I originally intended, but the \a won't eat the \dobj, rather it will set a flag telling the \dobj command to select the 'a/an' part of the \dobj command.
(except, of course, I can't use \a as that's already taken; boo-hoo)
[1] A monoid, with respect to the Tall-Wraith monoidal structure, in the category of co-V^-algebra objects in the category of complete V^ objects, where the '^*' indicates that everything is graded; just in case you were wondering.