Hi
wp_list_pages assigns a unique class to every page in the list:
<ul>
<li class="page_item page-item-2"><a href="/about/">About</a>
<li class="page_item page-item-29"><a href="/contact/">Contact</a>
<li class="page_item page-item-31"><a href="/gallery/">Gallery</a></li>
</ul>
you have the hooks you need to assign CSS sprites, using class of page-item-2, page-item-29, page-item-31. The number after page-item is the page’s postID#, which never changes.
In terms of “I don’t have li id=’page1″ I just have a function.”, that function outputs code which the browser displays. Use ViewSource or Firebug to see the output, to learn the classnames for your particular site. Then you can create the CSS from those class names. It sounds like you already know how to do that.
If you prefer class names like ‘about’ and ‘contact’, this plugin lets you assign a custom class to any page. Then wp_list_pages will include that class name in its output.
https://www.technokinetics.com/plugins/page-lists-plus/
If anything is still not clear ask further.