I think that the best book is Cameron McKenizie's "SCJA Study Guide". He improves it in every printing, so make sure that you get the 3rd printing or later. This book covers all of the material on the exam and has some practice questions too. You can get this book on Amazon.com. If you go through the JavaRanch link to Amazon when you buy the book, it will help fund the JavaRanch website.
For the practice questions, you can get three exams from Sun for $35.00. If you want more practice, Cameron McKenzie also has a book full of practice exam questions. This second book is called "SCJA Exam Questions".
I like these books because they are on the small side. Books like "The J2EE Tutorial" are too much to digest. That's probably why Sun designed the SCJA as the "new entry-level" exam. Java is so huge, it's a good idea to get a good overview of it all.
The amount of time that it takes you depends upon your experience and knowledge. Some authors advise that you study a little every day. Someone I know who is a Java programmer recommends that you spend part of your time studying and part of your time developing in Java. Studying books and actually developing using Java complement each other.
I'm taking my time, studying for the exam. I don't want to just pass it, I want to be able to say that I got a very high score.