wait a second, shouldn't you be using row_number rather than rank?
I am a bit confused with your question.
You could do
select * from (
select ranking = row_number() over(partition by itemnumber, productnumber, cdate order by itemnumber, productnumber, cdate) rownum, *
from Pricing
) numberedRows
where rownum >2
and if you want to have numbers for duplicates shifted (so that you see it 1,2,3 rather than 2,3,4 in first select you should put
select rownum-1, * from......