alias ls "ls -l"
That may cause recursion - depending of the shell. Usually 'ls -l' is aliased to 'll'.

Paths, environment etc. are inherited from the parent process - so for a shell launched from Workbench it's initially the same as Workbench's. Workbench is started from startup-sequence (or rather the boot shell running startup-sequence), so it inherits its environment from the boot shell.
Aliases are not inherited, so you need to add them to shell-startup.
Assigns are system-global, no matter by whom and when they are made.