I run a web app in an AWS EC2 instance and the database for the app in an RDS instance both in Amazon Web Services Region East-1. However, one of them is in Availability Zone 1a and the other is in 1d. Am I getting all the speed benefits of having both instances in the same "data center" (East-1) even if they are in different Availability Zones, or can I optimize by moving them to the same Availability Zone?
You should have your website and your database in the same availability zone.
RDS has an option to have a hot spare of the database running in another availability zone. This is called a "Multi-AZ deployment". Similarly you can run a second webserver in another availablility zone and set a load balancer to fail over to it automatically. That would be the correct way to use multiple availability zones and keep your website running even when one goes down.