It looks like the only time that you can choose where an icon goes on the unity launcher, is when you add it. Is there a way to rearrange the order of an icon after it has been added?
You do not need to ctrl-click in
Unity 2D; just click the item and hold it for a second without moving the mouse, and then the icon will detach and now it can be dragged to a new position and left there by releasing the mouse button. Note that the icon will automatically push down some other icons when detached in the desired position.
Yes. Click and hold a launcher. Pull it out to the right so it detaches. Drag it up and down and watch the little marker in between the other launchers. When you let go it will insert where that marker is.
Launchers have to stay within their 'group': the workspaces, files and folders and applications are one group (they have letters when you hold super) and the other icons are also 1 group (those have a digit when you hold super).
When you have a lot of icons on your launcher, it might be a good idea to not only rearrange these, but also use the Unity Launcher Folders Application. It is third party software, but very easy to use and install. That way you can not only rearrange your icons on the launcher, but also create folders in which you keep different kinds of sofware categories such as browsers, office related programs, games, paint and draw and video for instance. This application helped me a lot. For the rest, I agree with all the users before me: just drag it up or down!