We prove a constant term theorem which is useful for finding weight polynomials for Ballot/Motzkin paths in a strip with a fixed number of arbitrary `decorated weights as well as an arbitrary `background weight. Our CT theorem, like Viennots lattice path theorem from which it is derived primarily by a change of variable lemma, is expressed in terms of orthogonal polynomials which in our applications of interest often turn out to be non-classical. Hence we also present an efficient method for finding explicit closed form polynomial expressions for these non-classical orthogonal polynomials. Our method for finding the closed form polynomial expressions relies on simple combinatorial manipulations of Viennots diagrammatic representation for orthogonal polynomials. In the course of the paper we also provide a new proof of Viennots original orthogonal polynomial lattice path theorem. The new proof is of interest because it uses diagonalization of the transfer matrix, but gets around difficulties that have arisen in past attempts to use this approach. In particular we show how to sum over a set of implicitly defined zeros of a given orthogonal polynomial, either by using properties of residues or by using partial fractions. We conclude by applying the method to two lattice path problems important in the study of polymer physics as models of steric stabilization and sensitized flocculation.