This might not be quite what you've got in mind, but one big improvement you could make would be to use meaningful variable names and insert whitespace.
def decrypt():
cyphertext = raw_input('Give me the word to decrypt:')
shift = input('What was it shifted by?')
cypher_chars = list(cyphertext)
str(b) # this does nothing; you should remove it
cypher_ords = [ord(x) for x in cypher_list]
plaintext_ords = []
for i in cypher_ords:
plaintext_ords.append(i - shift)
plaintext_chars = [chr(i) for i in plaintext_ords]
plaintext = ''.join(plaintext_chars)
print 'Decryption Successful, your word is', plaintext, '!'
Of course as this answer shows, you could actually compress much of this into a one-liner. But for a new programmer, I'd stick with readable variable names that make it clear what's going on.
Still, you could do that while compressing the code a bit:
def decrypt():
cyphertext = raw_input('Give me the word to decrypt:')
shift = input('What was it shifted by?')
cypher_ords = [ord(x) for x in cyphertext]
plaintext_ords = [o - shift for o in cypher_ords]
plaintext_chars = [chr(i) for i in plaintext_ords]
plaintext = ''.join(plaintext_chars)
print 'Decryption Successful, your word is', plaintext, '!'