As described in my answers to the questions Software to send files through my private network and Simple serverless messenger for Linux, you could use any XMPP client that supports Zeroconf (Apple’s implementation is called Bonjour).
- No need for all participants to use the same client.
- No XMPP server (whether online or offline) required.
- Clients find each other automatically.
- Text/voice/video chat and file transfers possible (all these are client features, so it depends on the clients involved).
List of XMPP clients: http://xmpp.org/xmpp-software/clients/
Jitsi would be an example for a cross-platform client; however, it seems that the Zeroconf feature was removed and they intend to reimplement it in a better way; I’m not sure if this is done yet. You could, however, use SIP with Jitsi. Here's how to set it up. As far as I know, the only difference between SIP and XMPP with Pidgin (details below) is that with SIP, you need to know the internal IP address of any computers you want to chat with. This shouldn't be too much of a problem because you can use an IP scanner tool, like Advanced IP Scanner for free.
Pidgin is another one (note that they recommend to use Adium on Mac OS).
When going with Pidgin (+ Adium):
Features that Pidgin + Bonjour give that you asked for:
- Free
- Mac + Windows
- No port conflicts
- File transfer
- Not bad-looking