Blender Read Only Properties
Yes indeed there is. Here's a very simple example using a World datablock and the .is_property_readonly(*property*) function. 

import bpy
scn = bpy.context.scene
wld = scn.world
for a_prop in wld.keys():
    if wld.is_property_readonly(a_prop) is True:
        print("The property, %s, is 'Read-Only'" % a_prop)


This code would produce the following output:

The property, cycles, is 'Read-Only'
The property, cycles_visibility, is 'Read-Only'


The function .is_property_readonly(*property*) will output a boolean value, either True or False.