Seems to me, even with a 4096 texture, it could still look sloppy if a player walks right up to your building. Think about the player’s screen resolution. If you cover a 5-story building with a 4096 texture, the player may only see roughly 1/5 of that resolution while standing against the wall. That’s 820 lines stretched over the typical 1080 lines of resolution.
So tiling can help. A 1024x1024 tiled texture would have a better resolution vs. 4096 stretched over the entire building. You could tile your UVs instead of tiling your material in UE4. I’ve done that by adding a temporary cube to my mesh, sized to cover a single texture tile. Select a single face on the cube then “Select Similar (normal)” to choose all faces with that same normal. Set the view accordingly and unwrap as projected from view. With all the similar faces still selected and the cube-face still highlighted, scale/position that face UV to match the texture. All the other similar faces scale accordingly. Repeat for each normal direction needed and remove the cube when done.
If you decide to break-up the mesh instead, your building has several repeating features. You could create a mesh for the lower floor and duplicate it for each floor above. Even with the balconies, you could do one level and duplicate it.