Here is a tutorial on how to makes seamless textures in Zbrush.
There is a video tutorial that show how to load up your seamless texture made in photoshop bring it into Zbrush and once there you can used models primitives and other models to create an accurate height map for your texture. The important step is to get zbrush to act like the offset filter. Says in the wiki
Another way to approach this if you are not familiar with Zbrush is to model your bricks or whatever in your favorite 3d app. In one of the views. I just pick the view the responds best to perspective navigation tools and gives me the typical tangent space colors. You load a blue print if you have one of your texture and then model the parts, or design the texture on the fly. Make a plane that matches your texture size, for example 256 x 256 then once you are done you can project this onto a normal map. I like to leave enough room for cropping just in case the software adds extra shit to the edges that screws up tiling.