Maybe this doesn't matter to Alfresco and/or CMIS, but usually I like to know…
Is there a way to tell if a document object is currently "checked out"/locked? I see a few "cmis:isVersionSeriesCheckedOut" and similar properties that would seem to indicate what I want, but they're not "queryable".
What's the best-practice for querying for non-checked-out documents?
That is the value you want. It isn't queryable but that doesn't mean you can't retrieve its value. Not queryable means you can't use it in the predicate of a CMIS Query Language (CQL) query.
Another way to find out what is checked out is to ask the repository for its "checkedout" collection.