We are talking about hash-function families $\{h_k\}_{k\in K}$ here. The parameter $k$ is used to rule out the trivial collision search algorithm that simply prints a collision for a given $h$ (such algorithms exist, but are difficult to find). For large $K$ such an algorithm would be too large. The parameter $k$ is called a key, but it is not actually secret.
The issue is that concrete hash-functions are unkeyed. This is not a problem in practice, since such ``printing'' algorithms are never found. However, to prove the security of a protocol that uses such a hash function, one needs to show a proper reduction: the protocol is secure as long as the hash function is collision free. The latter is easily formulated for keyed hash functions, but for a single hash function it has been formalized rather recently. This answers your second question.
For the first question, there is no standard way of making a keyed hash function out of SHA-1, because this is not needed in practice. One may think of HMAC-SHA-1, but I doubt its collision resistance when the key is known (it is probably reduced to the chosen-prefix attack).