Rather than subdividing, you may be better off to use the K cut tool. Whilst having triangles are okay geometrically, subdividing causes a lot of Ngons to pop up on neighboring faces, which are typically unwanted in a good topology.
Tools that you can (and should) use instead of subdividing in this instance:
Boolean modifier (NOT RECOMMENDED, it causes random/messy geometry to pop up instead, but it’s easier to get the size and shape you want with this.
Remember if you end up with an Ngon shape, that you should use the K cut tool to change it into a square or triangle so that it lines up tidily on all sides. Examples below.
Your geometry seems pretty messy atm; in those holes either side of the main building, you have a faces that aren’t taking up any geometry, AKA there are verts on top of verts. Remember to press A to select all and then remove doubles to tidy up stuff like that.
A trick I learned a lot later on is that, especially for objects like castles and buildings, not everything needs to connect using the same geometry; you could have that main part of the building and its four pillar-like parts seperate from each other. This is good as it allows differing levels of detail and topology stays consistent. Example below.
It looks like clipping, but when the materials and textures are applied and rendered, the viewer won’t be able to tell the difference. I like this way, because it allows you to select whole sections of disconnected topology by using Ctrl+L.
I hope this giant spam of topology advice has helped in some way!