Many routers which support custom firmware such as DD-WRT can be used to modify the operation of the router. Depending on the particular router, it may be possible to create a wireless client bridge or wireless repeater bridge, effectively extending your network to the range of both devices (so long as they are close enough to provide a reasonable connection between themselves). It's also possible to accomplish this kind of thing if the devices are physically connected over Ethernet cables, which reduces any bandwidth reduction from wireless repeater (not wireless client) mode:
Also take note of the fact that all repeaters, including this Repeater Bridge mode, will sacrifice half of the bandwidth available from the primary router for clients wirelessly connected to the repeater. This is a result of the repeater taking turns talking to not just one partner, but to two, and having to relay the traffic between them. As long as your internet bandwidth requirements are within this halved bandwidth amount there will be little or no reduction in "speed".
This may be undesirable for users with fast internet connections, or those using the wireless bandwidth fully (e.g. transferring files between computers over the LAN). For more details about linking routers, see this page from the DD-WRT wiki detailing the various methods in which routers can be linked physically or wirelessly.
Note that you can set up an OSLR Mesh Network with DD-WRT, although this will drastically introduce overhead (both bandwidth and computational). For a residential application, I would probably just broadcast individual networks covering different zones.