udev can match (exactly) two layers in the full chain of attributes. Thus, you could say “this has to be a serial endpoint” and “this has to be endpoint 1” (or 0, or whatever,) and “this has to have serial number 1234.” As long as the kernel finds two levels of the device which, when combined, fulfills those requirements, the rule(s) defined for that device will be applied.
I usually do “SYMLINKS+=_blah” and “MODE=0666” so that I can easily find the device through a known handle, and I can open it as regular user, not needing root.
I’m away from my robot right now, so I can’t copy-and-paste, but with the combination of this information and Google, it should be possible to piece this together!
Btw: Thanks to Pololu for putting in unique serial numbers on their devices. It’s the right thing to do, and makes USB truly plug-and-play. Many, many vendors (including Microsoft for their webcams) do not, which is when physical port identification becomes necessary, which then reminds you of the good-old ISA days…
