The first question you need to ask is: does an irrotational, inviscid, incompressible fluid really exist?
The answer is no (well, yes, sort of, if you consider super-fluids). The irrotational, inviscid, incompressible fluid is a mathematical creation to make the solution of the governing equations simpler.
Lift cannot exist without viscosity! That's is the most common misconception that comes from an undergraduate aerodynamics course. So it bears repeating. Lift cannot exist without viscosity.
Starting Problem
When we look at potential flow though, we get pressure differences and these pressure differences result in lift, so what gives? First, the potential equations don't actually hold until the starting vortex is sufficiently far away. The discussion of sufficiently far away is, again, a vague concept. But it involves determining the velocity induced on the wing by the starting vortex using Biot-Savart law. Essentially it is "far enough" away when the induced velocity is small relative to the other velocity magnitudes in the problem. Viscosity causes this starting vortex to appear and this starting vortex is what causes pressure differences.
Additionally, in the absence of viscosity, circulation is conserved around a closed path. This is no problem if we make our domain large enough to include the starting vortex. However, we can't actually solve for the starting vortex with the assumptions made to get the potential equations, so we have to omit it from the domain. This means we need to have some sort of circulation within our domain and this is what becomes the bound vortex.
Here is an illustration (forgive me, I am most decidedly not an artist):
![circulation about an airfoil](https://i.stack.imgur.com/MlHuG.jpg)
At start up, viscosity causes the starting vortex to be shed and it proceeds downstream. Potential equations cannot deal with this situation because they lack the viscous term. It's just not something they can predict. However, in the free-stream the flow behaves as if it were inviscid. So once the starting problem is overlooked, this vortex will persist forever because nothing will dissipate it. If we take that solid outer line as a control surface, we can integrate around it and find that there is no circulation. So Lord Kelvin can rest easy.
But, since this vortex lasts forever, it's not possible to track it forever or the solution to the problem becomes very expensive. And we are (usually) interested in the steady state solution (although unsteady potential solutions are also possible). So we make an artificial cut in our domain, that's the dashed line. When we make that cut, the integral of vorticity around the sum of the two smaller control surfaces must still be 0. This means that the vortex bound to the airfoil has a circulation equal in magnitude and opposite in direction to that of the starting vortex.
During this start up process, very large velocity gradients exist at the trailing edge. This is what causes that vortex to be shed. Once the vortex moves away, the velocity gradients become smaller and smaller, eventually reaching zero. This zero-gradient condition is handled automatically by viscosity, but it must be enforced in the potential equations through the Kutta Condition.
Kutta Condition
The reason we need the Kutta condition is purely mathematical. When the inviscid assumption is made, the order of the governing equations drops and we can no longer enforce two boundary conditions. If we look at the incompressible, viscous momentum equation:
$\frac{\partial u_i}{\partial t} + u_i\frac{\partial u_i}{\partial x_j} = -\frac{1}{\rho}\frac{\partial P}{\partial x_i} + \nu \frac{\partial^2 u_i}{\partial x_j \partial x_i}$
we can enforce two boundary conditions because we have a second derivative in $u$. We typically set these to be $u_n = 0$ and $u_t = 0$, implying no flux through the surface and no velocity along the surface.
Dropping the viscous term results in only having the first derivative in $u$ and so we can only enforce one boundary condition. Since flow through the body is impossible, we drop the requirement that tangential velocity be zero -- this results in the slip boundary condition. However, it is not physically correct to let this slip line persist downstream of the trailing edge. So, the Kutta condition is needed to force the velocities to match at the trailing edge, eliminating the discontinuous velocity jump downstream.
John Anderson Jr explains in Fundamentals of Aerodynamics (emphasis in text):
... in real life, the way that nature insures the that the flow will leave smoothly at the trailing edge, that is, the mechanism that nature uses to choose the flow... is that the viscous boundary layer remains attached all the way to the trailing edge. Nature enforces the Kutta condition by means of friction. If there were no boundary layer (i.e. no friction), there would be no physical mechanism in the real world to achieve the Kutta condition.
He chooses to explain that nature found a way to enforce the Kutta condition. I prefer to think of it the other way around -- the Kutta condition is a mathematical construction we use to enforce nature in our mathematical approximation.
The Incorrect Explanation
The explanation of flow over the top needing to go faster to keep up with flow on the bottom is called the Principle of Equal Transit and it really is not a great way to present the problem. It is counter-intuitive, has no experimental validation, and really just leads to more questions than answers in most of the classes it is discussed.
Conclusion
To sum all of this up and to directly answer your question: yes, wings do have lift in incompressible (and compressible), irrotational, inviscid flow. But only because the potential flow equations are a mathematical abstraction and the Kutta condition is a mathematical "trick" to recover a solution that generates lift under those conditions. Of course, not just any wing will have lift. A symmetrical wing at zero degrees angle of attack will not have lift.
Let's look at the relationship between momentum and energy. As you know, for a mass $m$ kinetic energy is $\frac12mv^2$ and momentum is $mv$ - in other words energy is $\frac{p^2}{2m}$
Now to counter the force of gravity we need to transfer momentum to the air: $F\Delta t = \Delta(mv)$
The same momentum can be achieved with a large mass, low velocity as with small mass, high velocity. But while the momentum of these two is the same, THE ENERGY IS NOT.
And therein lies the rub. A large wing can "move a lot of air a little bit" - meaning less kinetic energy is imparted to the air. This means it is a more efficient way to stay in the air.
This is also the reason that long thin wings are more efficient: they "lightly touch a lot of air", moving none of it very much.
Trying to replicate this efficiency with an engine is very hard: you need compressors for it to work at all (so you can mix air with fuel and have the thrust come out the back) and this means you will have a small volume of high velocity gas to develop thrust. That means a lot of energy is carried away by the gas. Think about the noise of an engine - that's mostly that high velocity gas. Now think of a glider: why is it so silent? Because a lot of air moves very gently.
I tried to stay away from the math but hope the principle is clear from this.
Best Answer
First to Address the Equivalence of Bernoulli's Equation to Conservation of Momentum:
There are (at least) three popular explanations for lift on an airfoil:
Faster air on the top has lower static pressure than slow moving air on the bottom. The resulting pressure difference multiplied by the area is equal to the lift.
The airfoil deflects air downward and by Newton's 3rd law an equal and opposite force (lift) is applied to the wing.
Bound circulation on the wing generates lift due to the Kutta--Joukowski theorem.
All three are equivalent.
Bernoulli's equation is derived from conservation of momentum (Navier-Stokes equations) with the assumption that the velocity has a potential function. Bernoulli's principle is merely the mechanism for the equal and opposite force to be applied to the wing in explanation #2.
Circulation is required for there to be any downward deflection of air. Without circulation, the flow would not exit smoothly at the trailing edge. Bound circulation is a result of boundary layers forming on the top and bottom surfaces. (Also a result of conservation of momentum)
To get a decent estimate of the lift curve of an airfoil at small angles-of-attack, panel methods are used to solve for the tangential velocity at the surface of an airfoil. This tangential velocity is then fed into Bernoulli's equation to get the pressures. Integrating the pressure over the surface of the airfoil we can find the lift.
These panel method's are inviscid but add just the right amount of circulation to get a realistic solution. (satisfying the Kutta condition)
While all three of the explanations above are valid, they are just rewording the unfulfilling explanation of the reason for lift: Conservation of Momentum.
Range of Applicability of Bernoulli's Equation
The incompressible version of Bernoulli's equation, $1/2 \mathbf{U}\cdot\mathbf{U} + p/\rho = const$, is valid:
(for details see Ch. 2 of Viscous Fluid Flows by Frank M. White)
For airplanes, you can trace a streamline far in front of the aircraft into a region where $\mathbf{U} = const$ and hence $\omega = 0$. This means that the $const$ in Bernoulli's equation is the same everywhere and the equation can be used to find pressures anywhere on the surface of the wing.
In practice, if the Bernoulli equation is used, the velocities are found by panel methods. (If you are doing a viscous simulation you probably are calculating the pressures directly without using Bernoulli's equation.) The velocities from the panel method are analogous to the edge velocity at the top of the boundary layer near the surface. Any good viscous flow book will show that for boundary layers $dp/dy \approx 0$, where $y$ is oriented normal to the surface. This is also true for compressible flows up to about $M \approx 5$.
This method of using Bernoulli's equation to find the pressures (and by extension, forces) over the surface is a good approximation in many cases. When the results are not accurate, it is typically a result of inaccurate velocity information. For example, due to their inviscid nature, panel methods are not very good at describing separated flow such as an airfoil at high angle-of-attack.
Compressible vs. Incompressible
$M < 0.3$ as the limit of incompressible flow is thrown around a lot but typically without any justification. Consider gas at rest with density $\rho_0$ that is then accelerated isentropically to Mach number $M$. The density of the gas will change in this new state and is given by:
$$\frac{\rho_0}{\rho} = \left(1 + \frac{\gamma-1}{2}M^2\right)^{1/(\gamma-1)}$$
As it turns out, in air $M \approx 0.3 \rightarrow \rho_0/\rho = 0.95$ and it is then assumed for practical purposes that if the density changes by no more than 5% the flow can be assumed to be incompressible.
You are correct that there are compressible versions of Bernoulli's equation. The results of calculations using the compressible equation should be a good approximation as long as the inputted velocities are accurate and the streamlines can be traced into the freestream (i.e. not separated flow).