1. If a pattern synonym is defined in the same module as one of the type constructors in the type of thing it matches, then it should be possible to export it "attached" to one or more of those constructors

See https://ghc.haskell.org/trac/ghc/ticket/10653
Already implemented by Matthew Pickering, and will be in GHC 8.0.

I don't know about your second issue.