When --pidfile was updated to create even when in non-daemon mode, care was taken to not change any existing behaviour, https://github.com/inliniac/suricata/pull/907#issuecomment-38788249
For the config file and command line option to operate the same, some existing behaviour would have to change.
1) Follow daemon mode and always create a pid file, even when running in the foreground. Note that when in daemon mode a pid file is created even without the option present in suricata.yaml. The only way to disable pid file creation is to set the value to an empty string. This could break some existing setups where there is no expectation that a PID is being written.
This changes non-daemon mode.
OR
2) Never create a pid file default. --pidfile or the option must be present in the configuration file. This changes daemon mode, and may break setups that are expecting a pid file to be created by default.
If we were to change, I'm in favour of #2, I think its more consistent. But leaving as is strikes a good balance as well IMO.