Yes. Well, the permissions on the directory have to disable world-write IIRC.
What do you mean, doesn't have chmod? Are you using a client that does not support that function, or do you get errors when trying to use it? I use CuteFTP Pro, it has chmod function in it, and I do not get any errors using it with an FTP-only user on DreamHost.
Correct. Each file or directory is owned by a particular user and the user must set the appropiate permissions for allowing others access. There are three classes of permissions: owner, group, and public. It is not wise to let a 'public' user make changes to executable files you own, so DreamHost has it setup so that scripts will not execute if the public has the ability to change them. Needless to say a user should not be able to change the permissions on a file that is not their own.
Perl / MySQL / HTML+CSS