"I know I could just make a separate value for each player, but since I am using the same code to manage different games this is not feasable."
I am not sure why this is a problem. Each player can lock a property with key as its username and value "true". Since usernames are unique across CCUs and your client app will anyway know what the local username is, this should a viable approach.
Player A locks {A:true}
Player B locks {B:true}
Whenever a property is locked a notification is sent to all the users in the room with the property and lock table. When you get this notification and if the lock table has 2 entries - then you can safely assume that both you and other player are ready to start.