Sounds like a worn out coild spring. If they are the originals they need to eb replaced....period. When I got my car both front springs were worn. They were both more compressed on the inside and less compressed on the outside. They were seated correctly in the pocket, just old and worn out.
You CANNOT safely or easily move the spring back into place and seat it correctly in the spring pocket without dropping the lower control arm. And unless the springs are REALLY worn or broker you couldn't have moved it out of it's pocket just by changing the sway bar or shocks. Is it possible it hasn't been seated correctly since the ball joints were replaced last year?
It'll take ya 30 minutes to fix it yourself using a floor jack and some jack stands. You need to remove and inspect it anyway. Raise the front of the car up and support on jack stands. Remove the shock, remove the wheel and place the floor jack under the ball joint in the lower control arm.....jack it up to compress the spring. Loosen the nut on the lower ball joint so that you have about 1/4 inch of thread between the castle nut and the spindle.....keep the nut in place for safety while breaking the ball joint loose. Lower the floor jack to allow the spring to expand and put pressure on the ball joint stud. Do not let the floor jack loose contact with the lower control arm. Hit the spindle with a BFH to break the ball joint loose from the spindle.....raise the control arm enough to remove the nut from the ball joint stud, then lower the control arm by letting the jack down. The spring will become loose and slack in the control arm.....
Takes a total of 45 minutes or less to replace both sides once you've done it.