Sure, specially on web; they become dramaticall if calculations is unstored.
If yuo're using fm12 you could use executeSQL in order to obtain a query of what you want... Put the result of th query in a filed (global) and using this field as a source of the value list.
If you avoid unstored calculated fields with the SQL query, you should speedy pretty well...
When using calculated fields in value lists is there a hit on performance (especially on a server or through the web)?
If the calculation field is stored, then there should be no difference in performance compared to a "regular" field. If it is being used in a value list, then of course the calculation field must be stored anyway*.
(*) with a few exceptions that are not likely to apply here.