I'd like to know if this sort of linear programming problem has been considered in the literature / if it has a name / if there are any solvers for it.
The general idea is that it's like integer linear programming, where $x$ can only take on some values, but the points come from some arbitrary set $S^n$. If it helps, also stipulate that $S$ is not dense.
That is, I want to know if problems of the form $$\begin{aligned} &\mathbf{maximise}\ \ c^\mathsf{T} x \\ &\mathbf{subject\ to}\\ &\quad A x \leq b \\ &\quad 0 \leq x \\ &\quad x \in S^n \\ &\quad S \subseteq \mathbb{Q} \end{aligned}$$ have been discussed in the literature / have solvers I could use.
I suspect, given non-density, one could use the same algorithm as in integer linear programming; but I haven't studied these algorithms, so I'm not sure. If that is the case, please confirm it in an answer.
Extension question: would your answer still work if the sets where different; i.e. $x \in S_1 \times \dots \times S_n$.
Thanks.
I'm not aware of any research into problems like this other than conversion to some sort of integer programming or constraint programming (CP) model. At least some CP solvers will let you declare arbitrary domains for variables, but I think they usually require those domains to be finite (and, given memory constraints, not awesomely huge).
As noted in your comment, if $S$ is finite then you can model it as an integer linear program. Whether you can solve that model or not depends on the cardinality of $S$ (among other things). There's finite, and then there's finite and tractable.
Since $S$ is a subset of the rationals, another possibility would be to multiply $x$ by the least common denominator (l.c.d.) of the points in $S,$ resulting in an integer program (which, again, might or might not be tractable). This requires that the elements of $S$ (or, more generally, the elements of $\,\cup_i S_i$) have a finite common denominator, which can happen even if the cardinality of $S$ is infinite. If the l.c.d. is large, this can cause numerical issues with the solver.
If $S$ has infinite cardinality and no (usable) l.c.d., but the feasible region is bounded, then you may be able to find a hyperrectangle containing the feasible region. That would let you restrict $S$ to a finite subset. (If the feasible region is unbounded but the objective value is bounded, that might be enough to let you find such a hyperrectangle.)