The Routing Protocol for low-power and Lossy networks (RPL) is the most popular routing protocol for low-power and lossy networks (LLNs). Recent studies demonstrate that RPL performs poorly in peer-to-peer (P2P) communication. However, P2P communication is of immense importance in many LLNs that require actuation and control operations, such as cyber-physical systems. In order to alleviate the performance problem of RPL, we present a mechanism to enhance P2P route construction and data packet forwarding in RPL's storing and non-storing mode of operations (MoPs), which we call Enhanced RPL (ERPL). The salient features of ERPL include the following: (i) optimized P2P routing and data forwarding, (ii) no additional control messages, and (iii) ERPL can coexist with standard RPL implementations. We have implemented ERPL in the Contiki operating system and extensively evaluated it against a RPL implementation using Cooja-based emulation and physical testbed based experiments. Our results demonstrate that ERPL outperforms standard RPL in P2P communication and its optimized P2P route construction and data forwarding algorithms also positively impact the protocol's performance in multipoint to point (MP2P) and point to multipoint (P2MP) communications. Moreover, ERPL is more energy-efficient. Our results also shed light on the performance of MP2P, P2MP, and P2P communications relative to RPL's destination-oriented directed acyclic graph (DODAG) depth, i.e., a deeper DODAG negatively impacts the performance of MP2P and P2MP communications, however it positively impacts P2P communication, while the reverse holds true for a relatively shallow DODAG.