Manipulate individual UV islands in Cycles
Take advantage of the island's location

Each UV island belongs to a portion of the UV space. This means that for island that have different position, you'll get different vectors. You can use this info for creating masks. 

In the following example, a math node set to "less than" filter the portion of UV space that can be found between U=0->0.2 and V=0->0.2, more or less the space higlighted by the box selection.

The single UV island that can be found inside this portion corresponds to the "face" of suzanne (not head, not ears...they are outside the box), so only that part will be shown white (1), while the rest will be black (0).



You can use the math node output as a factor for everithing you whish (e.g. mixing two shaders, switch between different textures...).

In the provided example, for clarity's sake I preferrred to show a harsh dicotomy between the diffrence of UV islands treatment, but nothing prevent you to use smooth gradients or something else.