The invention relates to an encoding system and method for generating concatenated codes which utilize interleaving and data puncturing. The method includes selecting first and second puncture location sets defining desired puncture locations in non-interleaved and interleaved data sequences, respectively. A puncture-constrained interleaver is provided, which permutes the first puncture location set into the second puncture location set, so as to provide desired regular puncture patterns for all constituent codes. In a preferred embodiment, the puncture-constrained interleaving alters a symbol location relative to a puncture mask so as to satisfy a pre-defined spread or distance constraint.