(b) is simple and ZERO risk
the hardware looks like
Code:
modem(HouseA) -- router -- local system
(2nd nic) 172.16.1.10 (gateway 172.16.1.20)
[COLOR="Blue"] |
X
|[/COLOR]
(2nd NIC) 172.16.1.20 (gateway 172.16.1.10)
local system --- router -- modem(HouseB)
Both systems get to the internet using their local modem+routers, but
any access to the Other system does only that (does not go thru the other system).
The link -X- can be a crossover wired ethernet (shielded and outdoor rated covering)
OR a wifi link eg
Code:
modem(HouseA) -- router [COLOR="Red"]--A-[/COLOR] local system
(2nd nic) 172.16.1.10 (gateway 172.16.1.20)
|
Access Point or WiFi router
+
+
+
+
(wifi adaptor)
local system [COLOR="Red"]-B--[/COLOR] router -- modem(HouseB)
Both -A- and -B- should be wired to avoid complexity and issues.
as long as each houseX has its own router, then only one system needs the
connection to the neighbor and all other systems connected to the router DON'T even see the neighbor 
In fact, CAN'T ge there if they tried (without extra work)