Your business shouldn't care if the user is running a server or just a client. You should be charging based on transit alone. Sure servers use more outbound transit and clients use more inbound transit. But you're free to price inbound and outbound traffic differently if they have different costs. The Internet wasn't built around the idea that some machines would have some special attribute that allowed them to serve traffic and everyone else was just a client. Any attempt to apply that to the Internet will ultimately fail. ISPs have been able to get away with this thinking because most of the popular protocols were client/server. Welcome to the 21st century. There are legitimate reasons to operate distributed services. For instance it makes sense to have voice chat applications that don't use a central server.
As far as P2P for YouTube. I don't think you know what you're talking about. The only thing I can find about P2P with YouTube is some Singapore company that tried to enable that and Google didn't like it. Given that Google is pushing for browser standards that don't require Flash at all you'd think they'd also be pushing for these standards to include P2P components. But as far as I can tell they aren't doing that either. Flash does support a P2P feature called RTMFP (Real Time Media Flow Protocol) which is primarily made for collaboration applications. As far as I can tell Google isn't using this even for things like Google Hangouts. If you have some proof otherwise I'd sure like to see the source.