Generally speaking, in the rule that creates the building, you could use occlusion testing to test whether the building overlaps anything else in the scene.
With the International City rule, you could change the attributes on the shapes to change the height of the building (Type, HeightFactor), or you could change the code to define different ranges for building heights.