Every time there is a transaction, two addresses get joined, with the coins flowing into the target address. Transactions form an equivalence relation, so we can compute the resulting equivalence classes AND the total number of coins in each class. Coins that have been mined but not yet spent would exist in their own class, whereas coins that have been spent a few times would belong to a much bigger pool.
I'm a little confused on your definition or possibly your explanation of why it's an equivalence class. Everyone else, please pardon the jargon. Let X be the set of all addresses. Let's use ~ to denote a relation. I think this is your definition of the relation: Let a,b be in X; a~b if and only if there exists a transaction between a and b. Using this definition, I don't see how it's an equivalence class; specifically, I don't see the reflexive nature or transitive nature of the relation. Let me explain a little. For three addresses, let's assume a~b and b~c. This means that addresses 'a' and 'b' had a transaction and so did addresses 'b' and 'c'. However, this doesn't dictate that addresses 'a' and 'c' had a transaction, so this seems not to be transitive. In addition the relation seems not to be reflexive; I and other's have many addresses that have yet to be used in a transaction. Even if we changed X to be the set of all addresses used in a transaction, not all addresses send coins to themselves (or at least with my understanding of bitcoins, this is not how it works).
This is not a, "you're doing it wrong", type reply. I'm interested in your thoughts, but I think I'm misunderstanding what you're writing. Could you clarify a bit on your definition or how it's and equivalence class? I think it's an interesting idea to involve equivalence classes.