Change actors variables before possessing or spawning them?

If they should be a players, you can use this @anonymous_user_f5a50610 method with spawning player as spectator. In any other case, if you want to set object variables on spawn, use this I posted - you can set variables in SpawnActorFromClass or/and inside spawned actor just before spawn.

With lobby you can also create array of objects, every player will be one of object in this array. In this object you can set variables for future spawned player and his class. Variables like a weapon selected etc. Then, on real spawn, you can set variables on actor from this object. This is similar to spectator player with some pros and cons.

Best for you would be look on youtube for lobby tutorials, there a lot and you have to do many other things for lobby like this, for example check that player can get weapon or is already selected by other player.

https://www.youtube.com/results?search_query=unreal+engine+lobby+system

and here 1st from this list, from Epic Blueprint Multiplayer: Lobby Game Mode | 15 | v4.11 Tutorial Series | Unreal Engine - YouTube

Anyway, this is answer to your question and would be best - close it and if you have questions about lobby system post another question - you will have more answers.