Actually, that's not quite true logic_earth.
Apache is actually assigned to a specific user and group (just like any other user) and bases it's permissions off of that. By default I believe it's www-data:www-data. You can configure this in a specific file (I think it's usually the apache.conf file, I believe... I always forget =p).
Apache can then access files which it has permission to access just like any other user. So, if it's the owner or in the group, it uses those permissions. If it's not, it uses the "other" permission value.
A good example of this happens in Wordpress. With Wordpress, if it has the permissions, it'll automatically change the files directly when you do an auto-update of something. If it doesn't have the permissions, it'll ask for FTP information and use that to update the files.
Also, you keep saying "indexed", so I want to clarify, just in case.
"Indexed" usually refers to what search engines do (they index files in their databases).
"Indexes" is an Apache configuration. If it is enabled and you go to a directory that doesn't have a default document (index.html, etc), it'll show you a list of all files in that folder. If Indexes is off, it will give a 404 Not Found or 403 Forbidden error (depending on your settings, usually 404).
If you add a default document (index.html, etc) to every folder, it basically has the same effect because they'll get this page instead of a 404/403. This is usually a preferred method because you can do something like redirect them to your home page from this file, instead of just giving them an error.
It's best to do both.
Also, be careful with setting your directories to "read-only" (which would be 4). If they have a PHP file in them, it won't work if it's set to 4. You need to make sure it's set to 5 (read and execute). You'll probably want to set all of your files to either 0775 or 0755. The first gives only the owner the ability to edit. The second gives the owner and anyone in the group the ability to edit.
Just for your (or someone else that comes along to this post) reference:
chmod values are in the order of owner-group-other (a.k.a. "the world").
The possible values are:
0 - No access
1 - Execute only [Rarely Used]
2 - Write Only [Rarely Used]
4 - Read Only
3 - Execute/Write Only [Rarely used]
5 - Execute/Read Only
6 - Write/Read Only
7 - Execute/Write/Read
(The values are binary flags, just in case that means anything to anyone reading this.