Can computed fields be added to a custom entity? How can the "computed field" contrib module's (drupal7) fields be added to custom entities (based on the entity API module)?

Or will the computed field work with nodes only?
Yes, I found that entities can take computed fields.

A very easy way to achieve that, is by the 'data' module. It takes any extra database table. Can expose that table as an entity automatically. That entity can take normal fields, in addition to it's database table field. It does all the heavy lifting in place of entity API.