Actually, I think the question is a little more complex than at it at first reads.
As Viking points out, there's no correlation between the text object "abc" and a variable named abc. Both can peacefully coexist in the same script.
However, I suspect that what you're asking for is the ability to create ad-hoc, on-the-fly variables using some unknown/variable input as the AS variable name. That's not possible (at least not without an insane amount of work, heartache, and blood pressure pills).
Depending on your use case it may be easier to create records with your data, using the (unknown) data as the label along with some stored value:
set myVariables to {}
repeat 3 times
set varName to text returned of (display dialog "Enter a variable name:" default answer "")
set varVal to text returned of (display dialog "Enter value for " & varName default answer "")
copy {label:varName, val:varVal} to end of myVariables
end repeat
return myVariables
but there's no easy way to create a variable in your script based on the user input.