belongs_to with global cache

This is a difficult thing to describe. Maybe a better way of saying it that I want to make sure that there is only one instance per row of an object so that the runtime properties are always available.

That's sometimes knows as an identity map and is something that activerecord just doesn't have. You may find that one way out is for your class to have a map of ids to these runtime properties.

Fred