the serving BSC sends a list that contains only N_PREF_CELLS (usually 3, or 1). This list is ordered accordingly to the BSC candidate evaluation algo. The MSC selects the 1st cell.
regarding the LAC vs BSC :
I don’t have the explanation, but i just know the MSC knows where each cell is located 🙂 In the MSC, there is a table that links LAC with BSC, and probably other tables that links the cell with the BSC.