If you mean like the following...
To start with, select all the faces in Edit mode and press u. This opens the UV Mapping dialogue. Select the very bottom entry which is 'Reset'. This will pack all the quads tightly and they will be overlapped.
The reason I said to select everything to start with is because the tools will act on all faces when a new uv layer is first being created. They tend to ignore selections on the first pass so you can just unwrap everything as a group and then work on them individually afterwards.
So now, make sure everything is selected and move this block of faces out of the 0-1 UV space so you can work on the faces that will be non-repeating.
Now select one of the roof top pieces and use Select Similar-> Normals Shift+g. This should select every face that is facing upwards since they have similar normals.
Now access UV Mapping again u and this time try "Unwrap", it should produce evenly spaced UV faces that match the proportions of the faces that are selected.
Now use box select, circle select or whatever your favorite selection tools happens to be and use that to move all the side pieces back into the 0-1 UV space. Resize them to fit in there somewhere and you should be ready to go once you have the texture ready.
UPDATE: If you have uv's that are scaled beyond the 0-1 range then you can add extra UV layers.
For the next image, you can see three UV layers. One is for the roof, one for the walls, and a third for the bakeTo coordinates that will be used to combine everything into one final material/texture so the models can be exported to an external game engine as one asset.
Now you can add two materials, one for the roof and one for the walls. Set both materials to 'Shadeless'. The check-box is on the same tab with the other material settings.
Now add each of the textures to the respective material and be sure to select the proper UV coordinates or Blender will pick one for you and you may not like the choice it makes. :)
Now verify using the Object Data tab(the one left of the Materials tab with 3 dots forming a triangle) that you have the bakeTo UV coordinates highlighted, also make sure the camera icon is selected. Now find the Bake section under the Render tab and change this to full Render. I always set the margin to 64 pixels. Also, make sure that 'Selected To Active' is off. So long as you have already assigned a texture to the BakeTo UV coordinates in the UV Image Editor all the materials and their textures should transfer over to the bake texture and will all be in the 0-1 space and all together in one image. Here's the final result that uses the UV coordinates that I showed how to make in the first part.