Yes. I think you will be a little surprised when you come to do this as it probably isn't doing what you think it is (as Ned is trying to explain).
Yes. It creates and then writes because you need something to read otherwise it would be an empty string or error (there is no CreateOrOpen equivalent).
...And Yes.
"Open" is equivalent to OpenExisting(string mapName) in C#. Similarly, "Create File Map" is equivalent to CreateFromFile(String, FileMode, String, Int64) - I think they term it "persistent" mapping. Likewise, Create Memory Map equates to CreateNew(String, Int64, MemoryMappedFileAccess) which I think they term Non-Persistent mapping . I think that's right at least. The VIs use the windows API rather than .NET so the call names are bit different.
So you'll create your file map in your C# probably using "CreateNew" with READ/WRITE permissions and a certain mapName (it doesn't have to be persistent and on disk) and then you'll "Open" it in LabVIEW (with READ permission) with whatever "mapName" string you gave it in the C# CreateNew method.
Error -80002 just means it couldn't open a mapping either because a map with that name doesn't exist or because it doesn't have the permission to open it.