Use ShellExecute as demonstrated
here. Afaik, there is no way to elevate the current process (as far as UAC is concerned); you must launch a new process. This isn't specific to AutoHotkey. I suppose allowing it would open up an avenue of attack, i.e. as the process being elevated may have been compromised.
It looks like built-in support would require that the following be done:
1) Add "runas" to the list of allowed verbs in the IS_VERB() macro. (Very simple.)
2a) Improve how Run parses its arguments to allow parameters with verbs. Currently it seems only Run verb target is supported; we would need Run verb target params, i.e. Run RunAs "%A_AhkPath%" "%A_ScriptFullPath%". (Not as simple, but at the same time support could be added for Run target params where target is not an exe, bat, com, cmd or hta file.)
2b) As an alternative to the point above, add a RunAs subkey to the AutoHotkeyScript registry key, identical to the Open subkey. This would allow Run RunAs "%A_ScriptFullPath%" to be used, omitting "%A_AhkPath%" - but it wouldn't be portable.