We have travelled by coach in Spain and booked our tickets online with Alsa, no problems, the service is reliable.
Don't miss Granada, we are there several times a year and recommend the Alhambra. You can book online up to 3 months in advance at www.alhambra-tickets.es/, Select English at top right of the page, and Alambra General. However if you can't book that far ahead because you need to be flexible about your travel arrangements, don't be disheartened if you go online and can't find any time slots available. Only a certain number of tickets are sold online, so it is possible to get tickets on the day or the day before if you are flexible about your visit time. There is an Alhambra shop on Calle Reyes Católicos, if you look on google maps the shop is marked as Tienda De La Alhambra. There is a ticket machine in the shop, although it can be busy. The other alternative is to go up to the Alhambra early in the morning, ignore the long queues at the entrance and turn right by the shop - along there is a bank of ticket machines where you can select from the available visit times and pay by card. Of course that's only useful if you have a hire car, though you can use the tourist train (road train) - if you buy a 2 day ticket it's a good way of getting around Granada and there is a stop by the Alhambra. The train goes from Plaza Nueva, just up from the Alhambra shop.
A word about the weather, Granada is just north of the Sierra Nevada and there will be snow on the mountains by November which looks glorious. However there is always a risk of rain in and around Granada itself at that time of year. You can expect warm sunny days but it is cooler at night, and occasionally a period of rain sets in so be prepared for all weathers.
I agree Seville is worth a visit and should be pleasant in October/November, if you can fit it in Córdoba is well worth a day or so and is much smaller and more compact than Granada or Seville.
If you spend any time in Madrid, it's worth taking the train to Toledo. Segovia is also a great place.
Have a great time wherever you go!