Not to my knowledge can they be booked pre-cruise. Best time is when ship is in port. They offer a discount and what I do is, within an hour of being on board, I go to the Salon and book a masage for first thing in the AM of a port day while the masses are fighting to get off the ship, then head into port about a couple of hours later when it is a simple process. Keep in mind, don't book it for a port that you are doing a shore excursion in, but rather a port you are going to do on your own time.
Recently on the Island Princess I heard a passenger say she had booked her spa appointment online in advance but that was the first I'd ever heard of advance booking. I usually hit the spa for appointments as soon as we board because they book up quickly. If you do not plan of doing an excursion one day or you will be onboard part of the day you may want to book then. The lines usually offer a discount for port day appts. but I don't know if they will tell you that in advance or if it's just advertised during the week when they have vacancies. Be prepared to pay a good deal more than a massage at home. I pay $50 for a 50 minute massage at home and it was $109 onboard last week.
i think that it is slowly starting to become available to pre-book your salon appts on line before your cruise. I book mine soon after i board the ship, book it for port days- usually cheaper, check your daily ships paper for specials also.