Back in the days of Windows 95 and 98 I used to change the letters of my CD drives to X and Y from their properties in Device Manager. The reason for this was so they wouldn't get pushed down the alphabet by new hard disk partitions, and applications that needed their CD in the drive would always be looking in the same place. Nowadays, it's unusual - but not unknown - for applications to require the CD in place, but old habits die hard, and the proliferation of removable media such as memory keys, eight-in-one memory card readers, USB hard disks and so on makes letter management even more essential. Left to their own devices, removable media can create something of a free-for-all in drive letter assignment, with the latter varying with whatever is connected.
You can, however, nail these down, so each device always uses the same letter. You'll need to be logged on with Administrator status and go to Control Panel, Administrative Tools, Computer Management. Click on Storage in the left pane, then on Disk Management. In the top half of the right-hand pane you'll see all your hard disk partitions and removable storage devices. In the bottom pane you'll see a graphic representation of those same drives, plus CD and DVD drives. You won't see floppy drives, however.
Right-click on a drive in either pane and choose 'Change drive letter and paths'. In the next dialogue you'll see the existing drive letter highlighted - click the Change button and in the next dialogue you will see that the 'Assign the following drive letter' option is selected and you can choose a letter from the dropdown list. OK out of the last two dialogues and you'll see the changes immediately reflected in 'My Computer'. You can choose any unassigned letter for any device, so if you want to introduce mnemonics - say N: for your Nikon camera - you can. Note that Windows won't let you change the letter of the system or boot volume, normally C. In fact it's generally not a good idea to change the letters of any fixed hard drive partition - shortcuts, Registry and other settings will get confused.
The real beauty of all this is that provided each device has a unique ID, Windows should remember the letter assignment for each physical device, irrespective of which USB port it is plugged into. However, some devices may be fussy about ports - I've found that some removable media will work when connected to the USB ports on the computer, but not on a USB hub.
You can also rename devices - although this is possible from the properties of a device in Disk Management, it doesn't seem to like lower-case letters, so it's easier and more elegant to do this from My Computer. You can change the names of hard disk partitions with no adverse effects, though you may encounter problems if you rename the system or boot volume to 'Windows'.
If your computer is networked, you can also assign shared folders on a remote PC to a drive letter. This can be more convenient than digging through 'My Network Places', especially if there are folders you access frequently. To do this, go to the Tools menu in any instance of Explorer and choose 'Map Network Drive'. Pick a drive letter, then browse to the desired network folder. The mapped folder will then appear at the top level of My Computer under Network Drives. Unlike local drives you can avail yourself of the letter B, unless you have two floppy drives.
You can tidy up things even more with the XP version of Tweak UI. If you want to hide a drive, then you can do this from the My Computer, Drives entry. This hides the drive both in Explorer and Pile Open/Save dialogues, but it doesn't prevent access from the Run box or a command prompt, so don't think of this as a security measure. It is, however, useful in tidying up Explorer - for example hiding unused ports of a multi-card reader. Tweak UI will also - under 'Drive letters' - let you choose whether the volume name is displayed before or after the drive letter. With Tweak UI version 2.10 there's a rather frustrating bug here, in that the options are shown in the wrong order. If you want all drive letters to be shown before the label, select 'Never show drive letters'. If you don't want to show any drive letters, select 'Show network drive letters before the label, and show local drive letters after'. And if network before and local after is what you really want, select 'Show all drive letters before'.
In Vista, hiding drive letters is a problem. There's no Tweak UI for Vista (though there are third-party tweakers such as TweakVI). One method is via the Group Policy Editor, if your version of Vista has this. Go to User Configuration, Administrative Templates, Windows Components, Windows Explorer and double-click on 'Hide these specified drives in My Computer'. You'll find that the choices are limited to drives A, B, C and D or all, so it's probably not a lot of use. Intrepid tweakers can hit the Registry directly. With administrator status, Start, Run, Regedit or simply type Regedit into the Search box. Go to HKEY_CURRENT_USER \Software \ Microsoft \Windows \CurrentVersion \ Policies \Explorer and, if it doesn't already exist, create a new DWORD in the right-hand pane named NoDrives. Get a piece of paper and put the letters A-Z in a column. Beside A put 1, B- 2, C- 4, D- 8 and so on, doubling each time. Add up the numbers of the drives you want to hide - for example 67 will hide A, B and G. Double-click on the new DWORD and select the decimal option and type in the total. OK out and close Regedit. You'll then need to log off and back on to see the changes appear in Explorer.
Another bit of Regediting will show drive letters first in Vista. Go to HKEY_LOCAL_MACHINE \SOFTWARE \Microsoft \Windows\ CurrentVersion \Explorer. In the righthand pane, create a DWORD value named ShowDriveLettersFirst, then double-click on it and set its Value Data to 4. This is for all users, so you need to restart the PC to see the changes, and any corresponding entry under HKEY_CURRENT_USER will take precedence.
Having disciplined removable devices and mapped network drives you may now be approaching the limits of the alphabet. So what do you do when you run out? The answer is that you can 'mount' a drive so that it appears as a folder in another drive. The host drive must be NTFS formatted and the drive to be mounted must not contain a page file. So, go back to Disk Management, right-click the drive that you want to mount elsewhere, and choose 'Change drive letter and paths'. This time, choose 'Add' rather than 'Change' and you'll see in the next dialogue that the 'Mount in the following empty NTFS folder' is selected. Click on Browse, choose a drive and either browse to an empty folder or create one from the New Folder button. OK out and look in Explorer - the new folder will appear in the host drive showing all the contents of the mounted drive.
All that remains to do is free the mounted drive's letter, so right-click on the drive, 'Change drive letter and paths', select the drive letter, and click on Remove. You'll get a warning saying programs that expect to find files on the drive are going to fail. This is a risk that only you can decide is worth taking - in general, avoid mounting volumes that have executables in them, as the shortcuts and Fegistry entries will be wrong. I've tried this on a drive that just contained music, videos and pictures, so far the only casualties have been my Desktop background and the My Pictures Slideshow screensaver, both of which were easily rectified.