The number of spreading sequences required for Direct Sequence Code Division Multiple Access (DS-CDMA) systems depends on the number of simultaneous users in the system. Often a sequence family provides more sequences than are required; in many cases the selection of the employed sequences is a computationally intensive task. This selection is a key consideration, as the properties of the sequences assigned affect the error performance in the system. In this paper, a branch and bound algorithm is presented to perform this selection based on two different cost functions. Numerical results are presented to demonstrate the improved performance of this algorithm over previous work.