An SDK-based access method for per-window private browsing information does not seem to be documented. There's some support for it within the SDK, marked as "unstable", at the undocumented function "isWindowPBEnabled" in private-browsing/util.js of the 1.13.2 SDK. ("Unstable" is not a valid value for SDK components, according to the new SDK "dev guide". The only allowed values are "Experimental", "Stable", and "Deprecated"). A Google search for "isWindowPBEnabled" does not show it mentioned in any documentation.
Even with that function, it's not clear what to do. In the add-on code, a PageMod call to launch a content script never sees a window handle. So there's no obvious place to make that test. There's no way to prevent loading of a content script in private browsing mode, given the way the PageMod API is designed. After launching a content script, all that the add-on code can do is respond to messages over ports. Window information is not available via that route.
Within a content script, there's no way to test for private browsing mode, since add-on side APIs cannot be called from the content script.