I'd say you should stick with choose().
What you need to do, is create an event (e.g. System -> Create new object) to spawn your enemy and set the X and Y coordinates to choose(...).
Also create two dictionaries, one for the X coordinates and one for the Y coordinates. Now, at the start of the layout,add values to the dictionaries. As the key, go numeric, starting from 1 and go up to the number of spawn points you want.
The first value that you assign to the X dictionary will be the equivalent Y coordinate in the Y dictionary.
Now, you fill the choose brackets. For the X coordinate, it will be Create object: X: DictionaryX.Get(str(choose(1,DictionaryX.Keycount))) The same for the Y coordinates, just with the Y dictionary of course.
By doing this, you have random spawn places while assuring that no X and Y coordinates are being chosen that you don't want together.
If you need any more help or a .capx, give me shout.