So can Wine actually be compiled with MSVC Clang without requiring proprietary Microsoft libraries/headers?
Yes, this is being done all the time. When probing for a suitable PE compiler, Wine checks for `<arch>-w64-mingw32-{gcc,clang}` - but it also tries `clang -target <arch>-windows`. In the latter mode, with a `<arch>-windows` target triple, Clang runs in MSVC mode. This works for i686, x86_64 and aarch64 just fine and has been done for a couple of years already, but for arm we run into the issue that we need a handful of extra compiler helper functions (for divisions, and float/int conversions) that Wine didn't provide so far. (And when using a mingw compiler setup, Wine would use the corresponding libgcc or compiler-rt builtins from the mingw toolchain.)
Could that infrastructure be used to compile regular C Windows programs with full MSVC compatibility (and possibly C++ ones if libc++ can be built) using a fully open-source toolchain?
You'd need suitable headers; maybe the Wine headers are usable enough for this case - maybe? (The mingw headers don't quite work in MSVC mode.)
You'd also need a bunch of startup/glue libraries. In the case of MSVC, this is vcruntime and UCRT, where there's a bunch of statically linked routines. Wine has got winecrt0 which I guess supplies some parts of this, enough for Wine's purposes, but I'm not sure if it's enough to replicate a full regular user toolchain with all the details it needs.
As for C++, libc++ in MSVC environments relies on a bunch of lower level C++ ABI stuff from the MS STL/vcruntime. (In the case of mingw environments, it uses libstdc++/libsupc++ or libcxxabi, plus libunwind or libgcc, for those bits.)