Product codes (PC) have become an important class of error correction codes in recent years. They have been adopted in the IEEE 802.16 standard for wireless metropolitan area networks (WMAN) and received wide industry acceptance as a good forward error correction (FEC) solution. They exhibit near-capacity bit-error-rate (BER) performance and reasonable decoding complexity with soft decoding. Moreover, unlike convolutional-based Turbo codes, product codes suffer from lower error floors. In communication systems involving block and product codes, code shortening of a code is commonly used to flexibly adjust the code length or code rate to accommodate protocol. In this research, we first look into the BER performance analysis of shortened and shortened-extended product codes. Our achievement is the derivation of useful code weight enumerator expressions based on the widely known properties of the original code (before extension or shortening) and the number of nullified information symbols. They have been verified to be tight for Hamming, BCH and Golay codes. Such weight enumerator expressions lead naturally to useful decoding BER performance bounds and coding loss formulas. Secondly, we found that the existing code shortening approach specified in the IEEE 802.16a WiMax standard is not optimal in terms of minimum Hamming distance. Hence we set out to find better code shortening scheme. The result is a novel "Ordered Shortening" scheme which produces much improved code distance as well as code weight enumerator distributions. These improved code properties lead to improved BER performance for the ordered-shortened codes, as verified by computer simulations using