> We are considering writing our own application that requests the Subject ID and Group ID, verifies them against those found in a
> database, and then passes the SID/GID to the command shell to open Inquisit.
Unless you include the entire list of valid SIDs/GIDs in the Inquisit script(s), that's the way to go. Inquisit scripts themselves have no way to query external databases.
> On a similar note, I noticed when we batch several tasks together, the user is prompted before every task for a SID/GID.
It's unclear what exactly "batch together" means here. When using Inquisit's own <batch> elements, users will be prompted for SID/GID only once -- same SID/GID will be used for all scripts administered by the <batch>.
Similarly, when batching scripts via command line scripts or the like, you will not be prompted for SID/GID if you include those properly as command line parameters (see the "How to Launch Inquisit Using Command Line Parameters" topic in the documentation for details).