How do i pass variables' values between subsequent applescript runs? (persistent value between script executions)
You can write to a .plist file as such:

--Empty preference file
set theEmptyPListData to "&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;
&lt;!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\"&gt;
&lt;plist version=\"1.0\"&gt;
&lt;dict/&gt;
&lt;/plist&gt;"

--set preference list path and open with write permissions
set theOutputFolder to path to preferences folder from user domain as string
set thePListPath to theOutputFolder &amp; "AppleScript.plist"
set thePListFile to open for access thePListPath with write permission

--check to see if the plist variable is set
try
    tell application "System Events"
        tell property list file thePListPath
            tell contents
                value of property list item "browser"
            end tell
        end tell
    end tell
on error
    tell application "System Events"
        if not (exists file thePListFile) then
            set webBrowser to the button returned of (display dialog "What web browser to you want to use?
(Choose carefully, as this will not appear again)" buttons {"Safari", "Firefox", "Google Chrome"})

            set eof of thePListFile to 0
            write theEmptyPListData to thePListFile starting at eof

            tell property list file thePListPath
                tell contents
                    set value to {|browser|:webBrowser}
                end tell
            end tell
        end if
    end tell
end try


This script will ask for the user's browser and it will save it across runs of the script.