According to your question you can access local network devices when on cabled LAN. You have set your DNS server to 18.104.22.168, but still cannot lookup names.
You're able to ping your router at 192.168.1.1 and other local devices, but not internet servers such as apple.com or google.com.
This suggests to me that your problem is that the default gateway is set ...
I’ve never had to do anything except connect any ethernet cable or FireWire cable and use Bonjour (ssh email@example.com) to use MDNS .local suffix to connect to machine names. Everything works out of the box.
Perhaps you’re looking a bit too deeply an not just doing what you want without worrying about a hub or switch or direct connection isn’t ready.
So I'm looking at the same connection a month later, but with both Macs in normally booted mode.
So now, the 169.254 routing is set up just by plugging the cable.
The other machine is visible in the IP and ARP routing tables.
The problem has gone away.
(I can reach the other machine with mDNS now as per @John Keates; ping [the other machine-name, now that I ...
Quoting from this Wikipedia article:
An Ethernet crossover cable is a crossover cable for Ethernet used to connect computing devices together directly. It is most often used to connect two devices of the same type, e.g. two computers (via their network interface controllers) or two switches to each other. By contrast, patch cables or straight ...