Glib can do most of that, but is LGPL: http://library.gnome.org/devel/glib/stable/
I don't think you can find refcounting in any string library in C though... It's just not that easy to do. You can make a thin wrapper around gchar* yourself if you need it.