both your problems are easy to solve....buy a new seat track!
but on a serious note, mine used to do the same thing until one day shortly afterwards it just stopped working. checked every single fuse in the car and none of them were blown. since it was set where i wanted it, it never bugged me until i replaced the seat and bought a new track to replace mine. installed that one and guess what? it didnt work either. re-checked the fuses (since the guy i bought it from said he took it out in working order) and sure enough i had a blown fuse. replaced the fuse and both my original seat track and the new one worked perfectly. now i have an extra one for when my original one goes :banana:
anyways i would suggest you do two things: replace the fuse (even tho its not blown yet) and remove remove the harness and switch and clean them out. might be as simple as a bad connection. if you are inclined to do so, open up the switch as well and clean the terminals inside it.
to the 2nd poster, i would suggest you take the seat track off and clean it up a little, there may be some debris that got into that are preventing it from moving
worst comes to worse, you can pick up a used one on ebay for super cheap. 94-98 seat tracks are all interchangable (maybe 99 as well, not 100% sure), but on the 94-97 models, the individual motors can be replaced. on the 98 model, the entire seat track has to be replaced if its defective