Are moderation elections held on a regular basis, or just when the need of more people arises?
Moderator elections are held as the need arises. If the current moderator team feels like they need more help, or if the Stack Exchange community managers see a need for more moderators, then the moderator team can request an election. A moderator election may also be held if an existing moderator needs to take an extended absence from the site, or if a moderator is hired by Stack Exchange to become a full-time employee.
Due to the steady increase in activity on the site, the elections are also somewhat regular, and have occurred about once a year for the past two years.
[Is] the moderator status is held for a set limited time frame or forever?
In most cases you're a moderator for life. If a moderator is inactive for an extremely long time (typically at least 6 months without logging in and 1 year without any moderation activity, and if nobody can get ahold of them via email) then they may have their moderator access removed, but it can theoretically be reinstated if they return in the future. Moderators are also occasionally hired by Stack Exchange to be community managers or developers, in which case they are no longer technically a moderator, but would retain moderator privileges on all sites.