@SteveK, I just double checked w/ the CLR team on your question. Yes you can build a managed WinRT component that uses p/invoke to access Win32 APIs that are allowable from Metro style apps. The .NET profile for Metro style apps includes DllImporet, MarshalAs, etc.
as for your 3rd party supplier, so long as that DLL works w/ the Metro .NET profile, then yes your scenario will work. Only the public surface area of your component has to conform to the WinRT type system. Other assemblies you reference aren't part of that surface area by default.
I would think that is a common scenario - build a managed DLL component as a portable assemblies that can be used in Windows, Windows Phone, maybe even Xbox and then build a WinRT wrapper around it so the component is available to JS and C++ as well.