It's mostly to avoid having to import more code than necessary. And of course for people who work on both vkd3d and Wine, using the same helpers makes life easier.
I agree that it's no big deal for list.h. I was going to look into sharing more things, like wine/debug.h or the idl headers, but I assume that's not desirable either?
It would depend a bit on the specifics, but most likely not, no. As a general principle, I think vkd3d would like to avoid cases where we'd tell people things like "Please fix this in Wine instead" or "You can't change that internal header because it would break Wine".
I know @zfigura has opinions on this subject as well, and I don't want to get too far ahead of those, but to touch a little on the subject of non-Wine users/contributors, I think it's important enough to attempt to attract those that I'd tell them "vkd3d will go out of its way to accommodate your use-cases, even if that makes things slightly harder for us as Wine developers." Going by what you wrote above, I think that's the opposite of how you see things, which is a bit unfortunate. :-\
It is indeed true that vkd3d doesn't currently have a whole lot of non-Wine users/contributors, but we do in fact have a number of contributors with no commits in Wine or much fewer commits in Wine than in vkd3d. We also haven't made much of an effort to approach potential users of vkd3d so far; I think things are getting to a point where it's starting to make sense to be more active about that though.