Is there a read/write locking mechanism that works across processes (similar to Mutex, but read/write instead exclusive locking)? I would like to allow concurrent read access,
Have you looked at System.Threading.ReaderWriteLock? Here's the MSDN Link.
System.Threading.ReaderWriteLock