The idea of this patch and the next few is to create an internal d3d8 object to hold the wined3d declaration and give the d3d8 vertex shader a field to hold the d3d8 vertex declaration object. Setting the d3d8 vertex shader will then set both the wined3d shader and the wined3d vertex declaration.
Excellent.
I don't know if the implementation works, but the idea is certainly on the right track. This was done incorrectly to begin with, and also made it difficult to remove the dependency on d3d8/d3d9 includes (which I see you're on track to complete).
Ivan