Mojang has actually made the process relatively simple!
First off, you need to actually have Minecraft Forge for your desired Minecraft version at http://files.minecraftforge.net. The site goes down every now and then, so check every half-hour or so to see if its back up.
Navigate to your Minecraft folder. On Windows you can access it via %APPDATA%/.minecraft, while on OS X you can open Finder > Go to... ~/Library/Application Support/minecraft. I'm not sure about Linux, but you can always click Options > Texture Packs > Open texture pack folder to find it.
Open the versions folder. You should see all the versions you downloaded and have installed. Now make a copy of the version folder you want. In this case, we'll use 1.5.2 on Forge 684.
Now rename the folder to something like 1.5.2Forge684. I did not test what characters were not allowed but
I do recommend having the Forge version in the foldername just so that its easy to identify. This will be the name that appears in the launcher.
Now go inside the folder and rename everything to the same name you use. Keep the suffixes/extension intact.
Now open the .json file with a text editor. I will use Notepad++ in this case, but regular notepad will work fine.
Rename the version name with the same name you use for the folder. Do not modify the "type" tag. The launcher will only recognize "release" and "snapshot".
Save the file and close it.
Now you probably want to mod the jar, go ahead and use the usual methods.
Open the <newversionname>.jar file with your favorite zip manager (7-zip in this case) and delete META-INF. Pretty standard.
Now go open your Forge zip and drag everything into the jar.
Close the zip manager.
You are NOT done yet. Go back up one directory and open the versions.json and copy your original versions' entry to its own entry. Rename the entry to the directory you just made.
Now you're done. Go ahead and open up the launcher, select the version you made.
Oh no, what's this? An error dialog! GASP.
It just means the Forge server storing the deobfuscation data is down.
Oh. Yeah. Oh.
No worries. Click OK. Reopen Launcher and login until Forge stops showing that error message and actually downloads the files.
And now for shameless self plug to make sure this actually works: