I know a girl named
Joanna. She's not too bad-- a little "preppy", but overall rather nice.
The name, on the other hand, I'm not overly fond of. Something about it just seems slightly hick-like to me. But I do like
Johanna.
As for nicknames, my favorites from your list are
Joey (perhaps a bit masculine, but as a nn, I think it works) and
Anna.