I'm assuming b3w4r3 is referring to an OBSE function. The GECK added http://geck.gamesas.com/index.php/SetQuestObject which has a different syntax.
But I'm not sure that gives you anything extra in this case anyway. From what I understand, objects (other than actors and explosions) spawned with PlaceAtMe are not cleaned up at all - that's the reason for the warning http://geck.gamesas.com/index.php/PlaceAtMe#Caution, that you should remove those objects afterward to avoid savegame bloat. I haven't observed anything to indicate that's not true, so if you spawn something with PlaceAtMe, it should remain there permanently. What I haven't fully tested myself is if saved references to PlaceAtMe objects remain valid to use in script reliably after cell/worldspace changes and game restarts. I've only done some limited tests that seem to indicate they are "persistent" in that sense, for example, try this:
Scriptname TeleportTestScriptint iIterationref rMarkerBegin Gamemode PrintC "TeleportTest:" if iIteration == 0 set rMarker to Player.PlaceAtMe XMarker 1 set iIteration to 1 PrintC " rMarker placed: <%i> %n" rMarker rMarker StopQuest TeleportTest elseif iIteration == 1 Player.MoveTo rMarker set iIteration to -1 PrintC " Moved to rMarker: <%i> %n" rMarker rMarker StopQuest TeleportTest endifEnd
Attach it to a quest named TeleportTest with a short delay (like 0.1). Load up the game, and in the console type "StartQuest TeleportTest", then fast travel or something, and again enter the console and type "StartQuest TeleportTest". You'll teleport back to first location.
You might just want to try pushing that to see if the reference survives after doing more things, until you're reasonably satisfied it will be available as long as you need it. If it doesn't, I don't think setting the "Quest Item" flag will make any difference here.
I've always wanted to try making user-placeable or portable map markers, but it's another idea never got around to trying. I think it could be pretty cool.