Using a script, is there any way I can copy the current results of this RAND function into another cell on the sheet?
No, there isn't.
The following script should add the value of B2 to C2, but instead adds a new calculated value.
function freeze1(){
var s = SpreadsheetApp.getActiveSheet();
var v = s.getRange("B2").getValue();
s.getRange("C2").setValue(v);
}
The following script should add the value of B2 to the active range, but it adds a new calculated value
function freeze2(){
var s = SpreadsheetApp.getActiveSheet();
var v = s.getRange("B2").getValue();
var t = SpreadsheetApp.getActiveRange();
t.setValue(v);
}
On both cases, a third value is calculated "after" the script runs.
An alternative could be the use of a script to calculate the random number instead of a built-in RANDOM() spreadsheet function. The JavaScript command is Math.random().