Thanks mysterytramp, I've been looking everywhere for something that could help me solve my problem with trash, and you just gave the easiest solution. I just created this account so I could thank you! I just wish this script was easier to find.
This little feature really is essential to me

There are 3 main reasons I can think of that make this a necessary function:
1. You want to empty the trash in your USB drive but don't want to empty all your trash yet.
2. You are using someone else's Mac and want to delete a certain file, but don't want to empty the whole trash because you don't want to mess around with other people's stuff.
3. You don't want to empty the trash just yet (that's why they put the new "Put Back" command in Snow Leopard) but there's a huge file in the trash that's taking up loads of your HD space.
I hope Apple makes this an integrated feature, it's so simple that I really can't find any reason not to.
I also hope you don't mind, I've made a few small changes to your script
Code:
tell application "Finder"
get the selection
if the number of items of the result < 1 then
beep
else
repeat with theFile in the result
set theVolume to the disk of theFile
set itemPath to the (theFile as text)
set theDisplayedName to the displayed name of theFile
if ":.Trash" is in itemPath then
if button returned of (display dialog "Are you sure you want to permanently delete this file?" & return & return & theDisplayedName & return & "Stored in " & theVolume buttons {"Yes", "No"} default button "No") is "Yes" then
do shell script "rm -r " & (quoted form of POSIX path of itemPath)
end if
else
beep
end if
end repeat
end if
end tell
Basically, I just changed the error messages to beeps (I find it more discreet that way) and changed the ".Trash" match to ":.Trash". This simply avoids a Trash false positive if you hypothetically had a folder named something like "something.Trash".
I highly recommend getting a free application called Spark
HTML:
http://www.versiontracker.com/dyn/moreinfo/macosx/22675
and just copying this script and then creating a shortcut for it.
Open Spark >> AppleScript
I like to use Shift+Backspace, works fine for me
BTW, how could you make the script delete the files all at once instead of one by one? Sorry, I don't know how to write in AppleScript, all I managed to do was change these little things... Thanks again!