I do what your thinking. portable apps where ever possible. There's no need of an emu app not to be portable so I'm always suspicious when they arn't. Tho of course sometimes theres no alternatives. If its portable you should beable to cut and paste it anywere and have it run no matter the location, unless of course theres security limitations setup on your OS like mine for example with MS SoftwareRestrictionPolicy setup, exe executables can only run from predesignated locations. and depending on the setup only certain exe's can run. That aside tho, Emu's arn't that large of an app so you probably wouldn't notice any difference between SDD and HDD loading them, once they start its all the same cause there running from Ram, Your biggest wait time would probably be the initial Loading of the game ROM file, but once the game is loaded into Ram theres also no performance diff concerning Drive location. I personaly use my OS partition to launch the Emu exe's, but thats just cause I don't allow exe's to exacute off my storage drive.
I run the Roms and everything else that the Emu allows to run off the storage data drive tho, the Emu Config files that usually need to be in the same location as the Emu I just create a Backup to Storage after setup.
Since Roms can usually be used on any emulator designated for that system, I don't seperate them by Emu, catagorize them by system instead like Mupen64Man said, but i first catagorize them by Type then Brand then System. example.. some Roms are only #Arcade then others are available on all #Consoles, so i seperate them,
Acrade may then contain #neogoe #cps2 #sega folder etc, and then
Console may contain #nintendo #sega etc, and then
Nintendo may contain #gb #snes etc, etc
,etc
Side note, just incase you don't do so already.. once you have your OS partition setup, Instead of re-installing windows, you can Back it up by Cloning it with a Disk Imaging application. I know windows has a built in backup function but its really BS. Theres a bunch of opensource free apps these days that do so pritty easily, mostly linux based. Im not up on the latest, I use the slimmest app i found that works and never changed. which is the 'ntfsclone' command in linux. If ur not familiar with linux basics there are GUI based apps such as 'clonezilla'. I could be wrong but would assume most linux based imaging apps are probably a frontend or fork of ntfsclone, since most if not all linux apps are live bootable these days that command can be run on any live booted linux app. For example, Gparted live is just an app for formatting partitions, but the 'ntfsclone' command will still be available since ntfstools is standard. Like i said i havnt' looked in a long time but fyi historically these were i think maybe the most popular all in one live bootable linux utilities... SystemRescueCD, PartedMagic, Knoppix.
[EDIT]: oh yeah, If you use a front end that organizes Mame roms this is irrelivant, but if not, just fyi this is a way it can be dont without a front end from command prompt: using mames -lb command, ill use "mvsc" marvelVScapcom just for example to seperate all cps2 roms. Once u know the name of any rom in the set u can use the cmd no matter if the rom exists, it will search for all (-lb)brother roms in the set. Have to replace the example PATHs i used with the proper ones of course and press enter after the first line.
Code:
set _VAR=D:\Path\To\Mame\Roms
FOR /F "skip=1 tokens=2" %a IN ('""C:\Path\To\Mame\mame.exe" -lb "mvsc""') DO (FOR %b IN ("%a.zip") DO (IF NOT "%~$_VAR:b"=="" (move /-Y "%_VAR%\%~b" "D:\Path\To\cps2\roms\")))