Correct. While it was possible to use file paths, it was highly encouraged to use file system references and store alias structures.
This enabled Mac-like behavior like letting you rename and move around files (even open ones) without apps losing track of them, supporting network share auto-mounting, etc.
Nope, most Mac filesystem APIs would interpret : in a name as a path component. There was even an equivalent to the current working directory. No system-supported :: traversal syntax though.