Sorry to chime in so late, but IMHO the best UI for setting these values is to simply size the window to the desired size and position before closing LyX like it is now. If you add these setting to the preferences you would need to disable the automatic setting (otherwise the selected values in the preferences dialog would get overwritten). This is somehow defeating the goal of the session stuff IMHO.
The mechanism is more complicated than that. If. rc.geometry_width and geometry_height == 0: use session else use fixed given values and --geometry option will override them all. In the dialog, I check rc.geometry_width and geometry_height and enable (all zeros) /disable (non zeros) save/load window size checkbox. If a user uncheck save/load window size, specified geometry will be saved as non-zero geometry rc entries. Bo