One think you might consider given your example list of tickmarks without any details of the data might be to use a LOG type axis which would change the spacing between the ticks.
SOME value of TICKVALUEFITPOLICY will always be in effect. If you don't specify then you get the default behavior will is going to do what you describe. Maybe using a TICKVALUEFITPOLICY of Rotate or RotateAlways coupled with TICKVALUEROTATION=Vertical , which is going to minimize the width of values displayed on the X axis would reduce the amount of work to select specific values that don't get thinned.
In general the larger the value required to display the less space between integer values.
One way to prevent thinning is to use the range of values in your data, or the plotted subset of the data and do the calculations yourself before setting the value list.
I will give you a simplified version of something I had to do back in the days of SAS 6.08 and early SAS/Graph.
I had data that was read from telemetry daily. Some of the data represented the height of the water column in a rain gauge. The data read was actually a cumulative file, i.e. on one day the file held roughly 24 hours of data, the next day about 48, next 72 and so on until about a weeks worth of data was collected then the loggers were reset. The nature of the rain gauges meant there could be noticeable changes either increases, from precipitation or bugs and birds getting into the buckets, or decreases, when serviced. So the daily graphs that I prepared had to be prepared to deal with as little as 0 change for the 7 day period or as much as spike increases of 15 inches when birds got into the buckets.
I wrote code that examined the range of values for the period and if the value was large enough wrote code to subset the graphs with specified 2 inch ranges of the y axis, each with it's own value list. The 2 inch range per graph was to make sure that we could see the behavior of the column when drastic things weren't happening. If we allowed the whole range to appear as the default then the spikes would make the more typical readings appear flat. I'm sure you have encountered something similar with some data.
Also, you want to determine if the Tick marks are clashing or the Tick Labels. Quite often it is the Label that has an issue and use the options to rotate the text, reduce the size of the text and stagger the text appearance will reduce the conflicts for numbers in the range you show. If using time or date values, a common cause of text long enough to collide then use of a different Format might be in order .
There are enough interactions between the ODS Style, your overrides of style such as text size or font, type of graph template layout (overlay lattice datalattice overlayequated), axis type (discrete log linear time) that just dropping bits of your template can be quite insufficient to tell what will happen.
Look at your LABELFITPOLICY and LABEL POSITION option defaults or settings
... View more