Internet of Things (IoT) is one of the fast growing technological paradigm in terms of architecture, standards, protocols, infrastructure deployment, Quality of Service (QoS), Service Level Agreements (SLAs), service provisioning, cross domain and cross platform implementations. IoT involves the techniques and technologies for sensing, actuation, communication, computation, networking and storage. In such a demanding environment the need for cross layer QoS functionalities are essential to address the issues like resources, mobility, security and energy management. The detailed review of literatures on IoT architectures and QoS implementations is made and it is observed that there is a need for cross layer QoS model in IoT environments and is one of the critical research challenges. A novel approach to address the above challenge(s) in an IoT environment requires an appropriate lathering of functional modules to different layers to meet different QoS requirements. Hence we propose a novel cross layer QoS framework supporting adaptable and distributed decision making in the IoT environment as a cross layer implementation addressing energy optimization and bandwidth efficiency. The results are verified by implementing the proposed framework in realistic IoT systems for verifying QoS parameters like delay, energy and bandwidth.