as you start a program, Windows adds it to Prefetch (if it's not already there, is of a higher version and meets the caching requirements).
so deleting the entries in Prefetch will actually make some things run ever so slightly slower until they get re-prefetched.
it doesn't hurt to erase Prefetch as some programs may be in there that are no longer used or installed - but they will eventually work their way out of the list.
(from memory, only about 130 files are kept, give or take) (ps: that was for XP, I just checked my Win8 and there are 240 but there's a lot of same entries with different versions)
apologies @dvdbane for re-posting your suggestion, I thought it needed further explaining as I wasn't sure of the OP's knowledge of the background to it all.
EDIT: (forgot question 2)
as to layout.ini - personally I've deleted it and the whole Prefetch folder sometimes, back in the XP days, with no ill-effects.
but I stopped doing that action years ago. wasn't much point. all the files get rebuilt eventually, the space saving was marginal at best and there was no reason speed-wise to do it.
the main reason was for when a virus was found and it got Prefetched - then I would blow away the whole folder.
but to answer that question, since the layout.ini file contains entries to system locations/files, unless you know the consequences, leave it alone in my opinion.
it's a harmless .ini file, taking little space (mine is currently 1.5mb) and will get rebuilt anyway.
you would need to have a good reason that out ways the greater potential for things going pear-shaped.