I assume you are using v4 from what you are saying. In v4 all PyMC sampling functions return InferenceData by default.
InferenceData is an ArviZ specific object designed to store the results of Bayesian models, however, the data is not stored in ArviZ specific arrays. Each group of the InferenceData is an xarray.Dataset, which is a container for multiple variables whose dimensions (and optionally coordinate values too) are labeled.
All dimensions in a dataset are equal and you can index along them using the .sel or .isel methods (depending on wanting label based or positional indexing respectively), the chain and draw dimensions are not special.
Therefore, assuming you have a list with the coordinate values of interest you want to plot, instead of
(where I assume a .prior["variable_name"] is missing) you need to select the subset of interest before plotting, for example:
# assuming items_of_interest variable has the coord values you want to plot
prior_checks.prior["var_name"].sel(ITEM_NUMBER=items_of_interest).plot.scatter(x="ITEM_NUMBER", y="a", color="k", alpha=0.2, ax=ax)
# or to plot the first 20 items, use isel for positional indexing
prior_checks.prior["var_name"].sel(ITEM_NUMBER=slice(None, 20)).plot.scatter(x="ITEM_NUMBER", y="a", color="k", alpha=0.2, ax=ax)
ArviZ functions provide the coords argument to make it more convenient to indicate a subset to be plotted from a single function call, but it internally calls the .sel method. And therefore you can also get the same result by subseting first with either sel or isel and then passing the result to an arviz function without using the coords argument.