This is (surprisingly) actually a win for Alice!
If she chooses [9, 5, 4, 11, 6, 14, 3, 8, 15, 12, 18, 7, 16, 24, 13, 36, 63, 48] she is guaranteed to win for any number greater than 96.
Using the covering system given by Lopsy in the accepted answer I was able to get some slightly better solutions, but all still around 200. This paper gives other covering systems that exclude 2 that are slightly smaller than the one found by Erdos, and I was able to shuffle the numbers around until I got a valid solution.
Edit to give more details:
The covering system used is
{ 1 (mod 3), 2(4), 5(6), 4(8), 0(9), 3(12), 0(16), 15(18), 8(24), 21(36), 24(48) }
These are the bold numbers in the solution above.
Every integer from 1 to 144 is in one (or more) of these residue classes, and since each modulus is a factor of 144, the pattern repeats and every integer above 144 is also captured in the same way. The paper proves that this one of a few distinct (i.e. no repeating moduli) covering systems with 11 residue classes that exclude 2 as a modulus, and there are no such systems with less than 11 classes.
The difficulty was finding a way to order them efficiently, by inserting numbers to fill the gaps (the non bold numbers at the top of the answer) so the residue classes line up properly. I initially created a program to generate valid orderings minimizing the sum of the extra numbers added, but could not get a solution that worked for every number above 100.
There were some "tricky numbers" that evaded capture. For instance, the only residue class that contains 120 in the covering system is 24 (mod 48). Any solution that included 48 near the beginning ended up being too long and missed lots of other numbers, but we can capture it using one of inserted numbers. In this case 15 deals with the problem.
I tried to create a program that intelligently made guesses to capture these "tricky numbers", but in the end got the answer by just generating several million sets of "bad" (i.e. non-optimal) guesses until it found one that worked.
Edit 2: I have tweaked the weights and reduced the bound to 93 with the following set:
{ 9, 5, 4, 7, 3, 8, 12, 21, 18, 14, 6, 10, 11, 24, 16, 33, 36, 27, 48 }
As you can see, instead of just guessing 21 between 6 and 24 to efficiently get the next number, making 2 guesses of 10 and 11 helps capture more of the "tricky numbers".
I've generated over a billion sets and cant find anything better than this - I would be very interested to see if anyone can reduce the bounds lower than 93!
Edit 3:
Reduced down to 87 with the following set of guesses:
{ 16, 3, 7, 4, 9, 5, 8, 13, 6, 10, 24, 18, 12, 11, 14, 17, 23, 48, 37, 36 }
Again, instead of just adding 17 between guessing 12 and 48 (which would give us a solution that doesn't work for 168 and 216) we can make a bunch of extra guesses to capture these numbers. I'm just generating millions of these sets relatively randomly. After each guess it it picks a random modulus from the covering system if the residue will be correct, and if not I choose a random moduli and add either the residue difference or some valid amount less than this. I'm sure someone cleverer than me can come up with a better way to do this!
This set was also generated with an affine equivalent covering set based on the description given in the paper. I generated all possible valid covering sets and the covering set below seemed to give the best sets of guesses with my algorithm:
{ 1 (mod 3), 0(4), 5(6), 6(8), 6(9), 9(12), 2(16), 9(18), 18(24), 3(36), 26(48) }
I am going to retry writing an algorithm that actually searches the solution space properly, but the randomness of the residue sets makes pruning out bad guesses pretty difficult.