A great deal of this will depend on your server configuration, but:
Will WP Super Cache cache the css.php output?
Extremely unlikely. If your file simply generates CSS from a few variables, then no.
If however it bootstraps and loads WordPress, then it 'might' cache some things, but I doubt it will work as you expect, or that it will do a full page cache. Here the word 'might' is a stretch at best
Will Other Caching Plugins Cache it?
Switching to another caching plugin will not change things
Will the Server cache it? Or the Browser?
That depends on the headers sent, and at this point we've moved beyond the scope of WordPress and this stack exchange. The answer is entirely dependent on your setup, and is impossible to answer without making this question useless to other people, or having intimate knowledge of your system
Is What I'm Doing Safe?
If your file bootstraps WordPress, then it will work even when the plugin or theme is disabled, acting as a potential security hole. This is even more true of AJAX endpoints and form handlers. WordPress is a CMS, and all requests should be routed through it. An AJAX API is provided already, and there are rewrite rules and query variables that you can add and detect to output CSS and other things.
If however your
css.php outputs PHP after doing a small amount of math etc, then you should eliminate it, and simply use a build process to generate a css file. You can use less or sass or some other system to generate the CSS, but it doesn't need distributing to your server
css.phpfile needs to load WordPress, and will be active even if you switch themes or disable the plugin it's in. The same is true of files that handle forms or AJAX endpoints that are inside themes. Use the query vars and rewrite rules instead