Consider setting up permissions right after the topic is created.
In simplest case you can do it manually: click Manage discussions link, select discussion and click
Or you can create a workflow for that, that would pick the settings from the field.
This opensource project provides a set of workflow actions for setting permissions:
These can be used even in O365!
Following workflow actions are available:
GetRoleDefinitionId - gets role definition id using role definition
name. Please take into account that role definition names are
GetRoleDefinitionIdByRoleId - gets role definition id using
SPRoleType enumeration value.
AddRoleAssignment - assigns the
specified role definition to the specified principal id using or not
break role inheritance option.
AddRoleAssignments - assigns the
specified role definition to the specified principal id collection
using or not break role inheritance option.
removes principals specified by ids from role assignment collection of
the specified object.
ResetRoleInheritance - resets role inheritance
of specified securable object and inherits role assignments from the
parent securable object.
And for those who're interested in how it works, here is a post explaining how to set permissions using REST: