Real-time event detection and targeted decision making for emerging mission-critical applications requires systems that extract and process relevant data from connected IoT devices in the environment. In this paper, we propose PrioDeX, a cross-layer middleware that enables prioritized, timely and effective delivery of mission-critical data from IoT sources to relevant consumers. It incorporates parameters at the application, network, and middleware layers into a data exchange service that accurately estimates end-to-end performance metrics (e.g., delays, success rates) through a queueing analytical model. We propose novel algorithms that utilize results of this analysis to tune data exchange configurations (event priorities and dropping policies) while meeting situational awareness requirements and resource constraints. PrioDeX leverages Software-Defined Networking (SDN) methodologies to enforce these configurations in the IoT network infrastructure. We validate our analytical model and evaluate our approach through simulated experiments in a smart building fire response scenario. To further validate our approach, we develop a prototype implementation of the PrioDeX middleware. Our application-aware prioritization algorithm improves the value of exchanged information by 36% when compared with no prioritization; the addition of our network-aware drop rate policies improves this performance by 42% over priorities only and by 94% over no prioritization.