Do I need a separate IP address per subnet for every database in a Basic Availability Group?
Do I really need to create a separate AG Listener with two unique IP addresses >for every AG and thus every database, or is there a way to reuse either the IP >addresses or the AG listeners?


Yes, really, you do.

In fact, you'll need a unique IP address for each listener for each subnet that listener could potentially live in. Why? Well it's not very helpful to have a listener that can't listen. This is true whether Basic AGs are used or not.