Section 6.5.3 of the specification (version 1.1, revision 36) states that:
"Variables allocated in the __constant address space can only be defined as program scope variables and are required to be initialized."
Later on in the same section it states:
"Variables inside a function or in program scope can also be declared with the __constant address qualifier."
This seems to contradict the earlier statement that function scope variables are not permitted.