I'm looking to improvise a piano solo in over a C# verse that has a C#, B, A chorus. I'm unsure of what scale to use for this, or unsure on how to determine why musically some notes work better than others for this progression.
I'm hearing two questions: 1) What notes are safe for me to play? 2) What notes are important?
While overlapping, these are different questions that will each have a large impact on your solo. The first is easier to answer, but understanding the second will make you a better musician.
tl; dr Try them all, but only repeat the notes you like.
1) Safety first
Major/Minor: The normal approach is to identify the song's key by comparing the chords. This is typically done by identifying a I-IV-V or ii-V-I relationship within the song. Unfortunately, we don't have such a clean relationship here. If the C# was minor, we can make a strong argument for C# minor or E major (VI-VII-i or IV-V-vi respectively). But that C# major is a little confusing. It could be a borrowed chord, possibly a VI major? Most likely that is not the case, as we don't have a clear tonic (I chord, or E major in this case). It seems that our normal major/minor 7 tone scales aren't going to help us here.
Pentatonic scales can be really helpful in situations like this. In this case, the F# minor pentatonic has no notes that are outside all three chords. Win! You can play F# minor pentatonic to your hearts delight and it won't be strongly dissonant.
Eight tone scale If we just play the 1, 3, and 5 notes from each chord, then we generate this somewhat odd feeling collection of notes: A B C# D# E E# F# G#. Take note of the chromatic walk up in the middle. Playing an E on the C# chord or a D# on the A chord could create some unwanted dissonance.
A more mature approach would be to switch between scales for each chord. Just play the major scale for the chord being played. When the chord changes, change the scale you are using. A foundational concept in jazz theory is that a 'key' and a 'chord' are really the same thing. All notes within the C# major scale are 'in' while C# major is being played.
2) Listening is everything
The answer above focuses on identifying the notes that you shouldn't play. The accomplished improvisor focuses on the notes they should play, not the notes to be avoided. Some notes are far more powerful than others, and great improvisors invest in building up and resolving to these notes. So many great solos are simply finding interesting ways to move from one interesting note to another. Unfortunately, I can't tell you what those notes are without hearing the music. But here are some principles that will help:
Know your tonic. This is your home base. What is the foundation of the scale? Does tonic change with the chord progression, or does it stay the same on each chord? As we discussed above, the song could be in E major with a VI major. Does E sound like home base on each chord?
Know your style. In most forms of jazz, the most important notes are the 3 and 7. Western swing and rockabilly really enjoys playing between the 5 and 6. Blues wants b3's and b7's. The style of music provides a great starting point for which notes are going to be the most important.
Know your voicings. Understand how the chords are being played within the arrangement. Are they playing major chords in root position? Is everyone playing the 3 in each chord? Or are they emphasizing the 1 and 5 and almost ignoring the 3? How the harmony is built is going to place strong emphasis on specific notes for each chord. Maybe the 3 is not emphasized on the C# and it has no 7, while the A has a very strong 3 and a major 7? Listen to what's happening and figure out if you want to play within the structure or push against it by emphasizing other notes.
In general you don't need to use the same scale over every chord. This case is a very interesting, but common one in modern music and can be seen in a few songs including Unchanined by Van Halen.
If we slightly modify one of the chords, the key becomes apparent. If you change the C# to a C#m it is easy to see the chords C#m, B, and A are in C# minor. Thus the key I would call the song in is C# minor with the tonic chord being major instead of minor.
For the B and A it would be very easy to just play the C# minor scale over it however for the C# you have a few diffrent options:
One is to play some type of C# major scale (either major or mixolydian) over it. The other would be to play the C# minor scale over it but avoid the minor 3rd of it. Yet another is to use a slightly altered version of the C# minor scale for the C# chord where the third is major instead of minor.
When you wrote C#, by convention, you wrote C# major. And so in C#, the B and A chords are altered. The B and A chords do fit diatonically in C# minor. So you do have some interesting things you can do with this. It might help not to think so much of scales, but rather, neighbor notes and the possibilities you now have. This is especially true for the A chord, as it returns to C#:
A has the notes A, C#, and E. The C# note in that chord is a common tone, which you can sustain from one chord to the next. Meanwhile, the note A can resolve down to the G# in the C# chord, and the E can ascend to E# (not necessarily simultaneously). This is a start to some things you can do to improvise over these three chords.
To add to Dom's answer, like the song "Unchained," as you go back to C# you can add the fourth above C# (F#) and have it resolve to E#, which grants a smooth voice leading opportunity.
To go even further (and to very directly answer your question), this would probably be called a blend between C# major and C# minor. Although it could fit in with E major, if the vi chord was considered altered to VI, or F# major, with its iii altered to III. And these aren't the only possibilities, since we're definitely dealing with altered chords!