You can use a SPSiteDataQuery to query multiple lists (within your site structure) and filter based on Content Type. Something like this:
Tip: Download CAML Designer which will assist you ...
Create a calculated column that would calculate if your sort column is not NULL. The formula could look like this =IF(ISBLANK([ColumnName]),0,1) and the result can be 'Yes/No'. Now you can make sorting in your CAML by two columns (the new calculated and later your real column):
<FieldRef Name='MyIsBlankCalculatedColumn' Ascending='...
As you can see from CAML Query schema, the IsNotNull element requires the FieldRef element, whose Name attribute is the internal name of the field.
If you are building the CAML query in code, you can enumerate all the fields of the list and check if there is any that is of the type you are looking for; once found, you can get its internal name and use it ...