There is no known limit to the number of IOT things that can be concurrently connected. The broker is obviously able to have enough IP addresses and ports to allow virtually unlimited incoming connections. It is also a cluster so that you wont bog down the rules engine, etc. AWS has some good experience with large scale systems. Besides, you'll be paying for each connection, though a small amount ! I'm sure if you try hard enough, there is a way to cause trouble in the rules engine and get slapped on the wrist/banned. But for someone who's just doing their work, that is unlikely.
Topics are dynamic. i.e, until something subscribes to a topic or something publishes to a topic, the broker just has no knowledge of it. You dont "create" a topic.
Now, from a device perspective, there is a limit of how many subscriptions a connection can make. I think it was 50 (my knowledge is from some time ago. Please check.)
Also, from an account perspective, there is a limit of the number of messages that can go on per second, and the number of connections per sec, subscriptions per sec etc. Some of these are soft limits and some of these are hard limits.
Many of these dont usually affect you unless there is some event that causes a bunch of devices to reconnect at the same time. (E.g: an AWS datacenter has a power glitch that causes a reboot of all the machines, or there's an outage at the cellular provider that gets fixed suddenly and all devices connect at the same time. Or, there's a power outage across Texas that gets fixed suddenly!).
But if you will have say, 200k devices that come up and connect randomly between say, 7 and 9AM and will send a couple of messages every few seconds, you will not come close to any limits. Keep an eye on the costs, though.