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:

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...