To answer your questions.
Yes, c2 and c3 could be used to make a city builder if you mean something like sim-city. While you could likely do it with just a tileset, to me, keeping track of what tile is where would be a chore and I'd likely adopt a strategy of using an array and copy that over to the tileset. And even then, it would be a lot of work keeping track of things. If you're new enough to construct that you're not sure where to begin on this project, I strongly suggest something a bit easier to get yourself familiar with the intricacies of programming in c2/c3 and come back to this when you feel more confident.
As for selling with the free version: yes and no.
construct.net/en/tutorials/how-construct-2-licenses-work-64
'- Not allowed to be used for commercial purposes (however, it can be used in education and other non-profit organisations).'
Either way, I seriously doubt if you could make something like this with the limitations of the free version.