The Routing Protocol for Low power and lossy networks (RPL) has been introduced as the de-facto routing protocol for the Industrial Internet of Things (IIoT). In heavy load scenarios, particular parent nodes are likely prone to congestion, which in turn degrades the network performance, in terms of packet delivery and delay. Moreover, there is no explicit strategy in RPL to prioritize the transmission of different traffic types in heterogeneous 6TiSCH networks, each according to its criticality. In this paper, we address the aforementioned issues by introducing a congestion control and service differentiation strategies to support heterogeneous 6TiSCH networks in IIoT applications. First, we introduce a congestion control mechanism to achieve load balancing under heavy traffic scenarios. The congestion is detected through monitoring and sharing the status of the queue backlog among neighbor nodes. We define a new routing metric that considers the queue occupancy when selecting the new parent node in congestion situations. In addition, we design a multi-queue model to provide prioritized data transmission for critical data over the non-critical ones. Each traffic type is placed in a separate queue and scheduled for transmission based on the assigned queue priority, where critical data are always transmitted first. The performance of the proposed work is evaluated through extensive simulations and compared with existing work to demonstrate its effectiveness. The results show that our proposal achieves improved packet delivery and low queue losses under heavy load scenarios, as well as improved delay performance of critical traffic.