Unless someone has attempted it, this is something you’ll really have to try out yourself.
Unity does have it’s integrated networking, so what you’re after isn’t an unreasonable or infeasible request. You could either create your own wrapper for MonoBehaviour and inherit from that instead, which registers any script and its attached gameObject as a networked entity and shares it.
Not out of the box but you should be able to roll that on your own.
Unity doesn’t support PowerPoint as a media type so you’d have to write a plugin (desktop only, no web player support!) that reads in the PowerPoint file and somehow renders out each slide as a texture that you then display in Unity. So again, you could roll this on your own.
Sure, that is also quite possible (Unity can be used for single or multiplayer and the scalability of your world is up to you and your implementation).