Hi Mookid,
1) the .pid file gets created when httpd starts, as a lock file, so the program is not started twice. So, no problem i f find could not find it; just make sure the path is correct and writeable
2) I think that the problem is that the httpd file is not executable; please verify execution flags for httpd:
# ls -l /.../httpd
=> verify it contains an 'x' for the user starting the script, which normally is root
HTH