First, this is not about "interchanging roles in sentences". In the sentence
there is only one noun with a role: that noun is Bill and that role is Subject.
The other noun, friend, is not referential, like Bill -- i.e, it doesn't refer to an individual.
Instead, it's the Predicate of the sentence. It's called a Predicate Noun.
What you're talking about, and what you'd probly figure out if you started looking at more and different kinds of sentences, are Reciprocal Verbs.
That is, (be) s.o's friend is a reciprocal predicate -- if Bill is my friend, then I am Bill's friend.
Not only that, but it is also true that Bill and I are friends (note the plural predicate noun).
The same can be said of (be) s.o's <kinship-term>(s), and (be) s.o's co-worker(s)/neighbor(s).
Among many others.