GM OEM is the way to go, and that is what I did, when the time to replace came. Control arms come with the ball joints already installed. Check GMPartsDirect.com or RockAuto.com for the best OEM prices, way below the Dealer's prices.
You will need to confirm correct part numbers with your VIN, but here is what I see on GMPartsDirect.com:
Front Driver Side Upper Control Arm
25812725
GM
Notes: Includes Bushings And Ball Joint.
Description: This GM Genuine Part is designed, engineered, and tested to rigorous standards and is backed by General Motors
MSRP $308.14
$197.00
Front Passenger Side Upper Control Arm
25812726
GM
Notes: Includes Bushings And Ball Joint.
Description: This GM Genuine Part is designed, engineered, and tested to rigorous standards and is backed by General Motors
MSRP $308.14
$197.00
Lower Control Arm (Stamped Steel)
84114506
GM
Notes: Includes Lower Ball Joint And Bushings.
Description: This GM Genuine Part is designed, engineered, and tested to rigorous standards and is backed by General Motors
MSRP $378.31
$238.27
Lower Control Arm (Stamped Steel)
84114505
GM
Notes: Includes Lower Ball Joint And Bushings.
Description: This GM Genuine Part is designed, engineered, and tested to rigorous standards and is backed by General Motors
MSRP $378.31
$238.27