Hello Daniel,
You can use virtual channels with executables and there is actually a way to transfer the virtual channel configurations to the target computers so your users would never need to mess with configuring virtual channels. Once you have configured virtual channels, you can save the configuration within a .daq file. You can then include that .daq file as a support file of the executable and programmatically set the configuration of the target machine. The linked document below illustrates how to accomplish this.
How Do I Port a DAQ Configuration File With an Executable?
http://digital.ni.com/public.nsf/websearch/CB83B101E19EF83086256A3E0054206C
If you do not want to use virtual channels, the only other thing I can think of is to use the Get_D
AQ_Device_Info VI or function call. You can get a device code when using this VI or call and each code is associated with a specific instrument. You would then have to know (use the device's user manual) to determine how many channels the corresponding device has. Without virtual channels, you would have to use a channel number (0,1,2,...etc) and would not be able to use a string ("temperature 1 measured by device 1").
So, I think using virtual channels and transferring the .daq file to the target machines with the executable will be the best option. I hope this helps.
Regards,
Todd D.
NI Applications Engineer