Depends on what you're trying to access by.
Hence the "not generally speaking" comment. Hash collisions aren't a big deal in any decently-written hash map
Yes they are. Once nk (number of keys) exceeds nb (number of "buckets") by more than a factor .5, hash collisions will occur. Once this happens, the hash map is no longer constant time lookups, but can in a worse case scenario be as slow as lists (linear time), depending on how you handle hash collisions (re-hashing or chaining). though lists of some type are probably most common.
No. That's why you've got a Hashing function in the first place. To convert arbitrary data to an index value you can use for O(1) lookups.