A hash function should have such properties:
Identical key input should give us identical hash code output.
Different key input mostly give us different hash code output.
If there exist two different key inputs mapping to a same hash code output, it's called "Hash Collision".
As for your description, "identical key input may result in different hash code output", obviously the function DO NOT conform to Prop1. It cannot be treated as a hash function.
With concepts above known, we can go back to the questions.
A1: Basically it's not necessary to use a random seed in hash function. The general purpose of introducing randomness into a hash function is to improve the function's uniformity and try to avoid hash collision. You could use a random seed in an arbitrary way, generate something useful, as long as it makes your hash function "healthier".
(Actually, hash collision is theoretically inevitable, but we could decrease the possibility of its happening down to an acceptably lower level)
A2: That's a confusing question. You've lost the key, of course you'll lost the access to the data as a consequence.