Sky
you're correct that the slope raster is calculated 'on the fly', so it's a virtual raster not persisted to disk *unless* you explicitly save it. If you load your elevation raster into the map and add the slope function (you can specify units = degrees or percent rise), you can then save this to disk by right clicking in the table of contents and running "Data --> Export" and be sure to specify extent (if not the full extent) and raster resolution (if not full resolution).
If you're doing this programmatically and want to use a GP tool, input the layer (elevation raster with slope function applied) and save using Split Raster. (If the elevation raster is really large, can output tiles, and then a mosaic dataset can compile those tiles into a virtual raster.)
However, it sounds like you don't really need the slope raster, but ultimately only need the individual slope values sampled at points defined by an input shapefile. Your method for extracting samples should (?) work by inputting the layer into your "point slope extraction" tool. Would it be hard to test that and let us know if it works?
[I would suggest trying this FIRST, to save the disk space and processing time, unless you're sure you need to persist the slope raster]
I believe all of this should work with rasters inside GDBs, but I've always worked with raster files on disk, so there may be other issues I'm not aware of...
Cody B