The best thing that we've found is renting a house if you have a group. You can go through AirBnB and I've also found a lot just typing in Google : Villas to stay St. John. There are some cute boutique hotels as well as some more high end hotels available to your liking.
Some of you may choose to stay in St. Thomas and take the ferry to St. John, which is a great option. The ferry runs every hour on the hour until 11 pm. St. Thomas has a few more options for hotels such as Margaritaville, Point Pleasant, and Sapphire Beach Resort. The AirBnB or VRBO are options here as well.
You do not need a passport to go to St. John it is a part of the U.S. Virgin Islands (St. Croix and St. Thomas). However if your are planning on doing any excursion by boat most of them are going to a B.V.I. (British Virgin Island), which then requires a passport.