Great questions!
1. Sorry, no.
2. Not at this point, primarily because DEVREAD and DEVWRITE are set up for single register access only. It might be possible to work out something on this though, so we will take a look. We are planning a maintenance release pretty soon. If we were able to work it out, it would be a string variable, not a hard coded string.
3. DEVREAD and DEVWRITE are low level register accessors...a back door to the driver. Because the driver reference can be an indirect reference, rather than a hard definition, there are cases where we don't what the specific driver is until runtime. To that end we made the list of properties global, then depending on whether you do a hard reference or indirect reference, we can tell you at programming time whether a particular register number is valid for the device or not.