Yes, in general this sounds feasible. You can have millions of streams on a blockchain, and each node can choose which ones it subscribes to. You can have notifications for new items on a stream to which a node is subscribed (walletnotify runtime parameter).
But you need to think carefully about event ordering. Because this is a peer-to-peer network, different nodes can receive different items on a stream in different orders, and the ordering is only finalized when stream items enter the blockchain. All the stream querying APIs let you choose between local (per-node) and global (blockchain) ordering, so you need to see which maps better to your application's logic.