I upgraded iproute2 from the lenny version to the squeeze version (20100519-3), but this did not seem to make a difference.
I went ahead and rebuilt the kernel adding:
to the kernel configuration. I don't think they are required for iproute2, but I know that they are required for other things (Shorewall), so I put them in there.
After rebooting, I get the expected behavior from the "ip route add ... table lan" command. I'm not sure what the magic bullet was, but it is working for the moment, so I will mark this thread as solved.