First of all, apologies if repost, the only cross/dual faction guild threads I found when searching were related to the factionless panda exploits.
It is possible to have both Alliance and Horde characters in a guild by making use of the guild server and faction transfers available on the Blizzard site.
To achieve this:
1) Transfer a level 25 (have not confirmed with other levels) guild to another server and change faction. The old guild will be replaced with a new level 1 guild.
2) Characters left behind in the new level 1 guild will be aksed on battle.net account management if they want to follow their guild to the new realm.
3) On login on the new realm, your character should be in the new guild of opposite faction. So if your guild transferred Horde > Alliance, you will have a Horde character in the Alliance guild.
This (Horde, for the sake of argument) character can invite other Horde characters to the Alliance guild and players of opposite faction can understand and talk to each other.
The guildbank can be accessed from both sides and items can be deposited/withdrawn as well. Gold transactions is also possible.
Credit to Zephs on MMO-Champion.com: Alliance/Horde in the same guild.