Just add an entry to the marketboard called 'housing plot' and you go there, pay the price, and get the plot.

Then limit housing plots to 2 per entire account - 1 personal, and 1 that is from a free company one of your characters is in. So if you have 3 characters in 3 different free companies... only 1 of them will have access to their FC's house... and you can only change which one once per month. 1 character (the same or a different one) could then get a house. If you happen to have 3 characters that all own 3 different FCs... then only one of those FCs would be able to have a FC house.

And then for apartments - spin up new ones everytime the current units are full in ALL shards of that city's housing. When full... the first shard adds another 'row' of units. When that fills, the second shard adds another row, etc...