Is CaseComment an Object? If yes, why can't I make a custom lookup referencing it? If no, what it is?
It is an SObject, and you can query it normally, but it's a special type of standard (built-in) object that has a number of unique attributes.
Case comments:
- Can't have custom fields added.
- Don't support workflow rules.
- Don't support validation rules.
- Cannot be part of a custom lookup or master-detail relationship.
- Case comments don't count against your org's storage use.
- Private case comments don't participate in standard sharing, and can have more restrictive visibility than the parent case (not possible in custom master-detail relationships).
CaseComment is a standard Salesforce object. It is documented here: https://www.salesforce.com/us/developer/docs/object_reference/Content/sforce_api_objects_casecomment.htm
Not all Salesforce standard objects are available for customization or as targets of custom relationships there are a number of "minor" objects for which that is the case.
If I had to guess, it is probably like the Contact Role objects - they are old objects that need to be 'upgraded' to be first class objects before you can customize them, which will be a while based on the roadmap I've heard...