Here's a way in avisynth.
video=mpeg2source("clip.d2v")
audio=audio file goes here
audiodub(video,audio)
tfm()
assumefps("ntsc_film",sync_audio=true)
spline64resize(720,480)
limiter()
This will give you a 23.976 fps output. You would then use the encoder to implement a pulldown flag. This will probably show up as progressive on most modern hardware.
EDIT: This is the basic method I'm using to backup all of my seinfeld pal discs to ntsc btw.