For you second question, I believe so, I think I remember buying
two but I'm not sure. If you keep rumbling and checking the shop
every day your bound to find out. Hope this helped!
Your very first Explorer Bag can be purchased from the Item Shop,
another 2 are obtained from completing your first & second
Badge Case, and the last 3 can be randomly found by your Pokemon
while they're rumbling.
I do believe there is a cap on the amount og items your pokemon can
bring back. The highest amount I've gotten is 8 items, and I've
never gotten more than that amount.
(Correct me if I'm wrong)