1) xfs provides an xfs_growfs to increase the size of the filesystem, and it can be done online.
2) You cannot shrink an xfs sytem, either online or offline, at least not with the tools provided with xfs. I'd guess that Partition Magic can do it, but there's a lot going on under that hood.
3) For us, xfs performance was always poor, but others swear by it. Maybe we just didn't tune it properly.
We use ext3 for everything local and have a NetApp for our central nfs server. Coincidentally, a NetApp can dynamically grow a filesystem as you add drives to it, but it cannot shrink it. Makes me wonder if the NetApp WAFL filesystem is actually a modified XFS?