Is it possible to have a variable/dynamic amount of fields in a settings page?

I would like to be able to set how many areas there are at a site, and then have a set of settings for each area.

For a rough general example, could I have one field that accepts a number, which creates that many string fields?

No, not really. There are probably hacky solutions possible, but I'd recommend making your possibly many elements their own PersistentRecord for ease of implementation in the current model.