Some thoughts:
In some sense, the problem is only worth thinking about if $N$ is very large, otherwise one can sample directly from $p$.
In the case that $N$ is very large, one ought to make some structural assumptions on the state space which can limit the complexity of the Markov chain.
Commonly, these sampling tasks come imbued with some graphical structure, e.g. $[ N ]$ indexes the vertices of a graph, and the number of edges in that graph is not too large. A common assumption is that the underlying graph is sparse, i.e. each node in the graph has much fewer than $N$ vertices.
Restricting to the setting of finding an optimal Markov chain on a graph which respects the graphical structure (i.e. one can only move from neighbour to neighbour), there has been some work (e.g. 1, 2) in the restricted setting of Markov chains with the uniform distribution as invariant measure. While one could probably extend the methodology to account for non-uniform measures, my sense is that this is not really a way of designing sampling algorithms, as for really large state spaces, it is unlikely that this problem can be solved efficiently.
A simpler case which has been analysed is: given a base Markov kernel $K$ with some invariant measure, find the simplest modification (in a precise sense) of $K$ which has $p$ as invariant measure. In 3, the authors show that by defining
$$d (K_1, K_2 ) = \sum_{i = 1}^N \sum_{j \neq i} p(i) | K_1 (i, j) - K_2 (i, j)|$$
then among the $K_2$ which are reversible with respect to $p$ (a stronger condition than leaving $p$ invariant), the $K_2$ which is closest to $K_1$ in $d$-distance is given by the 'Metropolisation' of $K_1$, i.e.
$$K_2 (i, j) = K_1 (i, j) \cdot \min \left(1, \frac{p(j) K_1 (j, i)}{p(i) K_1 (i, j)} \right) \quad \text{for } j \neq i,$$
with $K_2(i, i)$ defined such that $\sum_j K_2 (i, j) = 1$ for all $i$.
A benefit of this result is that $K_2$ is immediately and efficiently implementable if i) $K_1$ can be sampled from, and ii) $K_1$ can be evaluated pointwise. Moreover, if $K_1$ is defined to respect a given graph structure, then $K_2$ will respect that same graph structure.