Is there a train between these 2 cities?
Yes- several. It takes between 4 and 5 hours and is a nice train ride. You can break up the journey with a stop in York if you wish. Use this website to check for times, fares, etc.
http://www.rail.co.uk/
There is at least one direct daytime train/hour between Edinburgh Waverley and London King's Cross. The standard 2nd class anytime walk-up fare can be as much as £141.50. An advance purchase discount fare ticket can be as little as £17.00, but you are limited to a specific departure date and time. A standard full fare ticket will allow you to do what Laura suggests: stop over in York for a few hours and get on any later train to London. Or you could buy separate advance purchase discount fare tickets for Edinburgh-York (as low as £15.00) and York-London (as low as £13.00), but again you'll be limited to specific departure times on your travel date. Book discount fare tickets up to 12 weeks in advance on the East Coast site. Or you could take the Caledonian Sleeper from Edinburgh Waverly to London Euston. If you book well in advance, you can get Bargain Berth fares.
Thank you so much for your quick replies! I greatly appreciate it.