Too Long; Didn't Read
Short of coding the file/directory creation process in C, I don't see a way of modifying the default permissions. As far as I can tell, this is hard-coded into standard utilities. Not making files executable by default makes sense: you don't want any random text to be accidentally misconstrued as shell commands. You may be able to get around this programmatically only: i.e. while creating files from within either a C program, where you make the system calls directly or from within a language that allows you to make a low-level syscall.