There are infinite dragons. The game has a formula that it runs, checking how long it's been since you last saw one and then there's a chance that one will spawn nearby you.
Invisibility potions work the same as the spell. Actions taken while invisible (interactions with NPCs or items in the world, including locks and doors) will break the spell.