Cognitive Radio (CR) is a new paradigm that enable nodes to exploit unoccupied frequency spectrum for transmissions. Cognitive Radio Networks (CRNs) have been proposed to enable wireless mesh networks to communicate via dynamic channels. Many existing research consider routing in static CRNs with relatively stable communication channel where the duration of the availability of the communication channel is much longer than the communication time. However, there is limited routing related research in dynamic CRNs where the average available duration of the communication channel can be much shorter than the communication time. To address this, we propose a cross-layer cognitive routing protocol, the Opportunistic Service Differentiation Routing Protocol (OSDRP) for the dynamic CRNs. OSDRP discovers the minimum delay - maximum stability route in CRNs by considering the availability of spectrum opportunity in addition to switching delay and queuing delay across primary user networks. In addition, service differentiation is achieved through a combination of transmit power control and opportunistic routing. Simulation results demonstrate that OSDRP can achieve much better performance in terms of lower delay compared to other existing routing protocols in various scenarios.