For those who don't know, nats is at the core of cloudfoundry. It's a great tool if you're in an all ruby world. The author wrote messaging software for Tibco before vmware so he knows his stuff.
Having said that, 0mq is probably a better choice these days since it's cross language. Still you can build some fun stuff with nats.
I haven't seen any one product that does all of that, but generally I want to separate heartbeating and status updates from the other queue functionality. ZooKeeper will do a lot of the heartbeating, presence, status changes, list clients, etc. I don't think it's designed to function as a queue though. I think with a combination of Redis and ZooKeeper you could get what you want.
I don't know if something like this exists, but if you do roll your own I would recommend using Redis as the backend - either have your clients connect to Redis directly and have a "tender" process keeping track of the keys, or just use Redis "behind" the queue server.
Having said that, 0mq is probably a better choice these days since it's cross language. Still you can build some fun stuff with nats.