Can a hash have more than one input? From a definition stand point, can a hashing algorithm have more than one input, ex: $H(m_1, m_2, m_3)$?

If not why are algorithms like bcrypt, scrypt and pbkdf2 referred to as password hashing algorithms?
The standard definition of a hash function is from arbitrary length bitstrings to a constant length bitstring. That is, there is only one input. Password hashes, like keyed hashes (MACs, more or less), have more than one input. There is no contradiction there, since password hashes are not cryptographic hashes - thought they may be built from cryptographic hashes like PBKDF2 (or even vice versa).

(Password hashes are called that largely for historical reasons. Normal hash functions used to be used for the same purpose, but that is not as good an idea.)

In practice, you will find notation where a hash function does have multiple inputs. That usually means that the inputs are encoded into one and then passed through the hash function. The encoding can be as simple as concatenation or it can add something extra to make inputs unique and prevent collisions.