There is no limit on the number of keys, or the number of items under the same key. In terms of performance it should not make much difference on whether you have a 2 keys with 50 items, or 10 keys with 10 items, because everything is indexed properly in both cases, and the same number of index entries is created. Unfortunately there's no API to retrieve all the items for a group of keys in one call, rather than for a single key.
One last comment – depending on your network setup, server performance, and the size of the stream items, you can now push MultiChain to around 500 tx/sec. And we're working on increasing this higher in future.