I'm trying to match Cycles to a Blender-Internal material setup and I didn't see a way for cycles to have an image reference more then one UV map.
Is it possible to have a node setup with 2 image textures, each using a different mesh UVLayer?
Yes, the different UVMaps can be selected by an attribute node and plugged into the vector input of an image texture node as well as into another image texture node vector input holding an alpha mask of the image referenced from the first texture node. This way multiple textures (and UVMaps) can be mixed for a single material output.
This technique is demonstrated in this tutorial.
Retrieve attribute attached to the object or mesh. Currently UV maps and vertex color layers can be retrieved this way by their names, with layers and attributes planned to be added. Also internal attributes like P (position), N (normal), Ng (geometric normal) may be accessed this way, although there are more convenient nodes for this.
Simply put the name of the UV map in the Name parameter, and use the Vector output as the UV coordinates.
The UV map with the camera icon selected in Object data > UV maps will be used by the Texture coordinate node:
While you can mix Attribute nodes with Texture Coordinate nodes, I personally find using only Attribute nodes is easier with more than one UV map, as the name of the UV map is already on the node.