You can declare constant variables at program scope or file scope in OpenCL 1.2. As per this page __constant :
Variables in the program scope or the outermost scope of kernel functions can be declared in the __constant address space. These variables are required to be initialized and the values used to initialize these variables must be a compile time constant. Writing to such a variable results in a compile-time error.
OpenCL 2.0, on the other hand, allows you to declare variables in the global address space at program scope. For details, you may check "Program-Scope Global Variables Overview" section of this blog http://developer.amd.com/community/blog/2014/12/11/opencl-2-0-generic-address-space-program-scope-variables/ .
You can aslo find few examples here __global .