Is it even possible to give CS's settlers? (If so, how, I haven't beenable to find how that was disabled)
You can't gift them settlers, but that's only because the unit gift system excludes noncombat units. If you're writing a Lua function, there's no problem giving them settlers that way.
Technically, the only reasons the minor civs don't build settlers of their own:
1> the FLAVOR_EXPANSION is set to 0 for all minor civs.
2> In the City AI Strategies table, the "Capital Need Settler" strategy has the <NoMinorCivs> flag set to true. The same is true for many entries in the Economic AI table, things like ECONOMICAISTRATEGY_FOUND_CITY. So the Minor civs never execute the AI algorithms that trigger city founding, but that'd be really easy to change.
Now, there's probably some other override in the engine, something that explains their tendency to raze conquered cities, since I didn't see that in any of the files I looked through.
Is it possible to restrict the number of units each civ can build? I know its possible by world, but I see flaws with my plan in that regard...
It's possible to restrict the number of units of a type that a civ has AT THE MOMENT, by adjusting the MaxTeamInstances and MaxPlayerInstances variables in the unit class definition. In my own mod, I have two "Hero"-type units that you can only have one of per empire, and the spaceship parts also work this way.
Unfortunately, that's a function of unit class, not unit, so you'd need to create an entirely new unit class, excluded from all non-minor civs, and an entirely new unit type. It's not a small amount of work.
If you're trying to restrict the number that a civ can EVER build, that's a lot harder. I suppose you could create a Lua function that counts them, and if the AI produces more than a certain number you award that AI a certain custom-made tech. Then you set the ObsoleteTech for the unit to that tech, so that awarding the tech removes the unit from the build list.
Or, if you don't want to be that exact, just make the minor-civ Settler unit type (mentioned above) go obsolete at, say, Navigation. Better yet, also make its PrereqTech be something in the Classical Era, so that the players will be settling their second and third cities well before the minor civs do.
Now, let's talk downsides:
1> The minor civs get a large production, gold, and research bonus to compensate for the fact that they'll only ever have 1 city, no railroads to get production boosts, etc.
2> Minor civs and barbarians gain techs through a "stealing" mechanism, where the more major civs that have a tech, the higher chance a minor gets it. So if you try to turn them into a real empire, they'll get a huge bonus on this.
3> Minor civs don't have city name lists, so you'll have a lot of writing to do.
4> Minor civs don't get Policies, ever.
5> Minor civs don't use the resources they harvest; those are placed into a pool for their allies to claim. City-states can only ever produce resourceless units, and don't ever get the benefit of luxuries.
6> Minors can't build Wonders, including National Wonders, although this is a by-type override so you could re-enable those easily enough if you wanted.
Minors also can't make nukes or Carriers (and I mean that even if #5 above wasn't a problem, these types are explicitly banned), and have the usual diplomacy issues.
Unrelated to the above posts, but still on the subject of CS's and settlers, I recently saw a bizarre incident in which a CS built a settler, then tried to attack a pikeman with it. Any idea how that happened?
Well, since the AI doesn't have access to the usual settler-based AI strategies (see above), it might have fallen back on the ones that it DID have... like the attack AI. Other than that, no idea.