Ok stop and take a step back. When you say "router" are you talking SOHO devices or an actual network router (Cisco / Juniper / Foundry)?
If its the former then what you effectively have is two external networks and a single internal network. Connecting everything together is childs play, but I'm thinking your wanting to do dynamic load balancing across two NAT connections. This is easily possible with a full up real router, but with a SOHO device even a DD-WRT loaded one, its not going to happen.
What you can do is have each SOHO device connected to its respective WAN network but have different LAN IP address's on the same subnet. Use a proxy server and configure the proxy to use both network gateway's in a round robin fashion. Configure half your cafe PC's to use one gateway and half to use the other, this isn't optimal but its about the best you can do with SOHO equipment.
Ex:
Gateway Device 0 (your first SOHO "router")
eth0 (WAN) => Internet providing NAT addressing
eth1 (LAN) => 192.168.10.1/24 subnet mask 255.255.255.0
Gateway Device 1 (your second SOHO "router")
eth0 (WAN) => Internet WAN 1 providing NAT addressing
eth1 (LAN) => 192.168.10.2/24 subnet mask 255.255.255.0
Internal Proxy / DNS cacheing device (you ~really~ should have your own internal server for caching, proxy and DHCP)
eth0 => 192.168.10.3
provides DHCP addressing (if needed) for 192.168.10.100 ~ 192.168.10.200
configure two default gateways on the machine, have one with a metric of 10, the other with 11. Configure squid to relay packets to both in round robin, will have to google documentation on how to do this in the squid.conf file.
Now setup half your wired PC's to use 192.168.10.1 as their gateway and the other half to use 192.168.10.2.
*poof*
near zero cost method to do what your wanting. A single "real" router will be able to do what your wanting easier but those cost money and I'm assuming you don't want to spend any.