Technically speaking, it's already possible. You can have a spectator in custom games. The limiting factor is setting up a way to actually join someone's game as a spectator, which would be a little more complicated than it seems.

You'd need to add spectator slots for public matches.

You'd need to have a way to queue for a match as a spectator.

You'd need to have a privacy setting for everyone in the match. (Not everyone wants their match to be watched.)

The number of slots would have to be limited, since sending that data to a ton of people who put a lot of strain on the server and impact gameplay.

I'm not sure how possible it would be. That would be quite a bit of work, so there'd have to be a lot of people who want to use it. You'd also need to have all five people in a match be okay with people watching them, so the amount of matches that you could actually spectate would be very limited.