Direct3D 9 doesn't actually have sprites.
What it has is a wrapper around vertex buffers, index buffers, textures, states and regular geometry. That's exactly all that ID3DXSprite is - a wrapper that draws ordinary textured triangles. It makes calls to the lower-level D3D API using code that you can write yourself, so that option is also there for 10 and 11.
Direct3D9 has ID3DXSprite as you stated. Therefore, Direct3D9 has sprites.
Everything in programming is a 'wrapper' for something else, when you think about it.
Try a test.
Fire up PIX.
Select a program using ID3DXSprite.
Do a single frame capture and tell it to also capture D3DX calls.
Run for a bit, press F12 to capture the frame, then quit.
Scroll down through the call list, find a call into ID3DXSprite, then expand it.
See all the SetTextureStageState calls, the SetTexture calls, the SetStreamSource calls, the DrawIndexedPrimitive calls? That's what I mean. It's not
hardware support for sprites, it's purely a software wrapper, and it's something you can write yourself for D3D11 using the equivalent calls.
It's also the case that D3DX is not
D3D. D3DX is a higher level utility library built on top of D3D (source: http://www.microsoft.com/en-us/download/details.aspx?id=22275
), and you can even use some D3DX functions and interfaces in OpenGL (such as the matrix library). The two of them should not be mixed up in this manner.