Answer to Question 1: In the documentation of Ticks
you can control the length of tick mark with a three-element tuple for each item on the axis

Here is an example: I use the ticks on x-axis
ls={{0.5,"1 "},{2.4,"2 "},{4.3,"3"},...};
In[17]:= Map[Append[#,0]&,ls]//Short
Out[17]//Short= {{0.5,1 ,0},{2.4,2 ,0},{4.3,3,0},<<10>>,{25.2,14,0},{27.1,15,0},{29,16,0}}
Use the new list from Out[17]
in your code
