"Each packet sent over the Internet contains the subnet prefix in the destination field as well as the destination IP"
Hm not exactly, the destination IP is send which then is divided in a network and host part by the routers. Subnetting means the routers closer to the destination have a biger (more detailed) network part in their table for the same address.
In theory you can also use the network address as a host address, but as there were computers (a long time ago) which wrongly implemented the all zero host address as broadcast instead of the all one host address there is a posibility that you are not reachable for some computers if you have the network address.
Another good thing about IPv6 is that the header has a fixed format which makes it easyer to implement routing in hardware instead of software.
Not only routers but every computer with an ethernet interface needs to have a ARP table, all packets on a ethernet are routed on the MAC address. Hosts (including routers) will only receive a packet if it is for their MAC address, only after that they will check the destination IP address if it is at the final destination or if it needs to be routed further.