See the discussion thread about GetItemCountExtension, where we query bank/bag/mail etc contents per character. Suddenly the need arises to know who your alts are. At the very least, you want to know about characters on the same faction; but sometimes it's interesting to know about toons on the other factions aswell (for rare stuff you'd transfer via neutral AH). Other servers is PROBABLY not interesting, but I included it for completeness.
You're right about the problem with multiple sources, but that can be solved, I believe.
How about this then
local oldGetPlayerCharacters = GetPlayerCharacters
for k,v in pairs(myCharDB) do
tab[k] = v.faction .. "@" .. v.realm
-- OR, e.g., for something only tracking current faction:
tab[k] = UnitFactionGroup("player") .. "@" .. GetRealmName(
if oldGetPlayerCharacters then