Yes, there are all sorts of fun things like that.
I'm not sure why you would want to change an ID, but you can certainly change or add or remove a class.
Here are some things that I have done in one skin.
Add in an image with a name that is based on the page name. I use this to add a different background image to the page, without having to have a separate skin for each page:
<img class="background-image-home" id="background-image-home" src="<%=PortalSettings.HomeDirectory %>Images/Background/<%=PortalSettings.ActiveTab.TabName %>.jpg"
Put a logo on the page, where the file resides in the skin directory:
<div id="Logo">
<a href="/home.aspx">
<img src="<%=skinpath%>\images\mylogo.png" alt="Alt text for the image" /></a>
</div>
Put the page (tab) name in the skin:
<%=PortalSettings.ActiveTab.TabName %></span>-->
Note that these are all done server site. If you do things on the server side, you can also get access to things in the DotNetNuke framework.
If you want to do this on the client side, that's also possible. Google around and you should find some references.